我正在使用 NSUTF8StringEncoding
对一些文本输入进行编码,输入得到编码并且生成的字符串包含“可选”。可用的示例 here .
带有“可选”的编码字符串的真正含义是什么?
这有什么重要作用吗?
最佳答案
您必须了解的是,可选对象与它包含的必需对象是不同的数据类型。一个可选的“包装”或包含一些其他对象。可选的可以是空的,用 nil 表示,也可以包含另一个对象。
在内部,可选是一个枚举,它有 2 个值,Some 和 None。 Some 案例具有关联值。可选项是泛型。 Some case(非空)中存储的关联值可以是任意类型,它决定了optional的类型。
如果你打印一个可选的,你会看到容器和存储在里面的值,或者你会看到 nil(因为 nil 可选不包含任何东西。)
let aString:String? = "Foo"
println("aString = \(aString)")
显示类似
optional("Foo")
那是因为 aString 不是可选字符串,它是一个包含字符串的可选字符串。
关于ios - NSUTF8StringEncoding 结果编码字符串为 'Optional' 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29576954/