首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用可选数组创建的

用可选数组创建的
EN

Stack Overflow用户
提问于 2015-06-15 13:33:49
回答 2查看 80关注 0票数 0

我声明一个数组:

代码语言:javascript
复制
var array:[String] = []

赋值:

代码语言:javascript
复制
array.append(uniqueId as String)

然后将其传递给一个函数:

代码语言:javascript
复制
static var levels_array : [String] = []
class func setLevelsArray(arr:[String])
{
    GamePrefrences.levels_array = arr
    println(GamePrefrences.levels_array)
}

我的问题是,当我打印数组时,我得到:

任择(88868658),任择(112051080),任择(95274974)

为什么这是可选的?我只想要数组中的字符串,那么为什么添加“可选”呢?

我来自Java,有人能解释创建可选选项的原因以及如何删除它吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-15 13:38:38

很可能实际的字符串是“可选的(88868658)”,等等。您可能是意外地从一个可选字符串中创建了这个字符串。在上面的代码中,您肯定有一个字符串数组,而不是选项数组,当您打印一个字符串数组时,它们不包括双引号(这可能会让人困惑)。

这可能发生在这里:

代码语言:javascript
复制
array.append(uniqueId as String)

uniqueId是什么类型?as不用于转换类型。它只是用来在可能的情况下转换它们(虽然如果是这样的话,这应该会失败;所以我怀疑你在某个地方做字符串插值)。

票数 3
EN

Stack Overflow用户

发布于 2015-06-15 13:47:44

String本身不是可选的-- uniqueId是可选的。基本上,选项表示存储的值可能存在也可能不存在。

在将可选uniqueID转换为String之前,我建议使用一个String语句来打开可选的String,这样程序实际上在将其存储为String之前就知道了该选项的存在,例如:

代码语言:javascript
复制
if let uniqueId = uniqueId {
   array.append(uniqueId as String)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30846560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档