如果Apple的Swift Programming中所说的隐式解包选项应该总是有值,那么为什么不使用非选项呢? 我知道知道非选项不能分配给nil但是还有其他区别吗?
答案 0 :(得分:2)
还有其他区别吗?
Impilicitly unwrapped optional可以与nil
进行比较。
var a:String!
if a == nil {
// a is nil
}
答案 1 :(得分:0)
最简单的答案是可选变量可能根本无法获取值。在iOS开发中,通常需要此特定行为。因此,Swift没有在objective-C中创建指针(成本很高),而是引入了Optional变量。要了解隐式和显式选项,请参阅this链接。