【发布时间】:2015-04-08 10:41:31
【问题描述】:
我知道用感叹号我可以打开一个可选值,这意味着我可以将可选类型转换为“普通”类型。但是在类型标识符中使用感叹号呢?即
@IBOutlet weak var back: UIButton!
为什么我需要!?没有! 意味着back 不能取零值,不是吗?因为Int i 意味着i 都不能取零值。但是为什么我需要在类型标识符中使用!?
【问题讨论】:
-
这个问题是重复的...但是为了记录,一般来说你不应该使用
!。通常只在 Xcode 为您生成代码或自动完成代码时使用它。 -
考虑一个对象在构造和配置时可能具有 nil 属性,但之后是不可变和非 nil 的情况(NSImage 通常以这种方式处理,尽管在这种情况下它仍然有用有时会变异)。隐式展开的可选项会很好地清理其代码,安全性损失相对较低(只要有一个保证,它就是安全的)。见:stackoverflow.com/questions/24006975/…