ios - 使用可选创建的数组

标签 ios swift option-type

我正在声明一个数组:

var array:[String] = []

赋值:

array.append(uniqueId as String)

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

static var levels_array : [String] = []
class func setLevelsArray(arr:[String])
{
    GamePrefrences.levels_array = arr
    println(GamePrefrences.levels_array)
}

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

[Optional(88868658), Optional(112051080), Optional(95274974)]

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

我来自 Java 有人可以解释为什么创建可选的以及如何删除它

最佳答案

很可能实际的字符串是“Optional(88868658)”等。您可能不小心从一个可选字符串创建了这个字符串。在上面的代码中,您肯定有一个字符串数组,而不是一个可选数组,并且当您打印一个字符串数组时,它们不包括双引号(这可能会造成混淆)。

这可能发生在这里:

array.append(uniqueId as String)

uniqueId 是什么类型? as 不用于类型转换。它只是在可能的情况下用于转换它们(尽管如果是这种情况,这真的应该失败;所以我怀疑您正在某处进行字符串插值)。

关于ios - 使用可选创建的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30846560/

相关文章:

ios - 重新排列 UITableViewCells 会导致单元格内容中断

Java可选类方法无法解析

java - rxjava2的Maybe和Optional有什么区别?

ios - NSJSONSerialization 在验证应用程序收据时导致 Swift 崩溃

java - 空字符串的 Optional 实现

ios - 在应用程序自定义键盘 swift ios7/8

ios - 在 iOS 中本地化字符串 : default (fallback) language?

ios - 无法编译 xcode 项目,因为缺少 info.plist

Swift 从函数中获取值

ios - 长按手势识别器仅在手指抬起时触发