se138:Swift 3.0.1 的两个小改动:SE-139,SE-140

baihanfeng 坐标: 124999 目录:婚姻家庭

OC 中的 id 类型对应 Swift 中的 Any。原来在 Optional 类型转换为 Any 后,OC 中方法声明的 nonnull id 检查不会生效。因为已经是一个 Any 的值了,虽然这个值里面包的是一个 nil。这也带来了潜在的危险。所以现在对于原来 OC 中的参数要求是 nonnull id 类型,对于 Optional 会进行解包警告。

比如这样的代码:

let x: Int? = 3let mutalArray = NSMutableArray ( ) mutalArray.add ( x )

会有警告:

会警告需要进行解包。

如果你本来就是要这样的行为,需要显示的类型转换为 Any

mutalArray.add ( x as Any )

相关链接:

微信扫一扫

订阅每日移动开发及 APP 推广热点资讯

公众号:CocoaChina

专题栏目
最新