您的位置:首页 > 移动开发 > Swift

Swift中的?与!区别分析

2016-02-26 19:05 316 查看
在Swift的学习中发现如下问题:

var amiteLbl :UILabel?

self.amiteLbl = UILabel(frame:CGRectMake(50,100,200,40))

self.amiteLbl !.text = "I'm so sorry !"

self.view?.addSubview(self.amiteLbl)

两行为什么一个用!而一个用?

由于amiteLbl是可选变量,所以可能有值,也可能为nil。使用self.amite里一定有值,无论什么情况都调用后面的.text赋值方法。

而使用self.view?是声明此时并不确定self.view里是否有值,所以只在view有值时调用后面.addSubview方法。这样做的目的

1.让代码更加明确 2.给编译器提供更多线索,在编译时发现更多潜在错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: