collectionView UICollectionViewController中的可选项

时间:2015-12-13 00:24:43

标签: ios swift uicollectionview uikit

阅读collectionView的{​​{1}}上的Apple documentation,它似乎是可选的,由UICollectionViewController表示。这对我来说似乎很奇怪,好像?可能是collectionView,然后nil似乎毫无意义。关于UICollectionViewController的{​​{1}},Apple Documentation表示不能tableView,因为它标有UITableViewController

我的问题是,为什么nil是可选的,在使用!时我必须考虑什么?我必须担心collectionView将是UICollectionViewController,此外,collectionView初始化的时间点是什么时候? 感谢。

2 个答案:

答案 0 :(得分:1)

当创建控制器时,它的所有视图都以nil开头,因为它们尚未创建 - 出于性能原因,iOS延迟加载尽可能多。当视图控制器的视图已完全加载时,会调用viewDidLoad()方法,因此您知道它的使用安全。

答案 1 :(得分:0)

当我编写视图控制器时,我尝试在loadView方法中创建视图,因此在需要视图之前,所有视图属性都是nil,这就是为什么它们都需要是选项。我认为它与UICollectionViewControllerUITableViewController相同。

为什么有?收集和!表的原因?我觉得这很简单。 UITableViewControllerUICollectionViewController年龄大得多,并且两者的查看属性都有不同的注释(nullablenull_resetable),这会导致使用Swift时出现不同的行为。