隐式展开的可选项和非可选项之间的区别
Posted
技术标签:
【中文标题】隐式展开的可选项和非可选项之间的区别【英文标题】:difference between implicitly unwrapped optionals and non-optionals 【发布时间】:2014-11-27 11:33:36 【问题描述】:如果 Apple 在 Swift Programming 中所说的隐式解包选项应该总是有一个值,那么为什么不使用非选项呢? 我知道知道 non-optionals 不能分配给 nil 但还有其他区别吗?
【问题讨论】:
***.com/questions/24006975/…的可能重复 【参考方案1】:还有其他区别吗?
隐式展开的可选项可以与nil
进行比较。
var a:String!
if a == nil
// a is nil
【讨论】:
【参考方案2】:最简单的答案是可选变量可能根本无法获取值,在 ios 开发中,通常需要这种特殊行为。因此,Swift 没有在 Objective-C 中创建指针(成本很高),而是引入了可选变量。要了解隐式和显式选项,请参阅 this 链接。
【讨论】:
以上是关于隐式展开的可选项和非可选项之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Objective-C API 会返回隐式展开的可选项?
在 Apple Swift 中,在啥情况下我不想要一个隐式展开的可选项?