ios - NSUTF8StringEncoding 结果编码字符串为 'Optional' 字符串

标签 ios swift

我正在使用 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/

相关文章:

ios - 如何在 Swift 2 中模糊场景

ios - 上传 UIImage 进行解析

ios - CGPattern 与 swift

ios - 如何将 SCNCamera 看到的内容渲染到平面上?

swift - didSelectRowAtIndexPath 仅在嵌入容器 View 时长按才起作用

ios - 如何在按钮周围应用动画?

iphone - 这是 CoreText 吗? - 鸟舍文本捏缩放展开

ios - 使用 CILanczosScaleTransform Core Image Filter 调整图像大小

同一部手机上的 iOS App Release 版本和 Dev 版本

objective-c - 关于 NSString 的 iOS 内存管理