弱变量有什么区别:测试:UIView!和弱变测试:UIView?在网点?

时间:2016-10-28 01:04:58

标签: swift profiling weak-references iboutlet

所以我试图对我用swift编写的代码进行一些抛光和分析。我有一堆非常详细的问题,通过搜索弱和强引用等主题无法轻易找到它们。

例如,我没有看到XCode抱怨以下任何一个用于插座的线路。如果有任何人可以解释有什么区别,就保持弱引用和内存管理而言,我将不胜感激。

@IBOutlet weak var mapTab : MKMapView? 

@IBOutlet weak var mapTab : MKMapView! 

它只是展开还是改变了参考的性质?

1 个答案:

答案 0 :(得分:1)

后者是隐式解包的可选项。无论什么时候使用它,您都可以将其视为一种力量展开,为您自动隐式完成。如果强制解包的值为nil,这当然会崩溃。

早期版本是常规可选项,因此您必须明确地自行解包。您可以使用guard letif let??等来处理它,或者您可以选择强制展开它,这与第一种情况类似。