【发布时间】:2014-11-27 11:33:36
【问题描述】:
如果 Apple 在 Swift Programming 中所说的隐式解包选项应该总是有一个值,那么为什么不使用非选项呢? 我知道知道 non-optionals 不能分配给 nil 但还有其他区别吗?
【问题讨论】:
如果 Apple 在 Swift Programming 中所说的隐式解包选项应该总是有一个值,那么为什么不使用非选项呢? 我知道知道 non-optionals 不能分配给 nil 但还有其他区别吗?
【问题讨论】:
还有其他区别吗?
隐式展开的可选项可以与nil 进行比较。
var a:String!
if a == nil {
// a is nil
}
【讨论】:
最简单的答案是可选变量可能根本无法获取值,在 iOS 开发中,通常需要这种特殊行为。因此,Swift 没有在 Objective-C 中创建指针(成本很高),而是引入了可选变量。要了解隐式和显式选项,请参阅 this 链接。
【讨论】: