隐式展开的期权与非期权之间的差异

时间:2014-11-27 11:33:36

标签: swift optional

如果Apple的Swift Programming中所说的隐式解包选项应该总是有值,那么为什么不使用非选项呢? 我知道知道非选项不能分配给nil但是还有其他区别吗?

2 个答案:

答案 0 :(得分:2)

  

还有其他区别吗?

Impilicitly unwrapped optional可以与nil进行比较。

var a:String!
if a == nil {
    // a is nil
}

答案 1 :(得分:0)

最简单的答案是可选变量可能根本无法获取值。在iOS开发中,通常需要此特定行为。因此,Swift没有在objective-C中创建指针(成本很高),而是引入了Optional变量。要了解隐式和显式选项,请参阅this链接。