将视图设置为他们自己的代表很快

时间:2016-01-22 14:51:32

标签: ios swift delegates uicollectionview

我正在考虑继承{{1}}并将其设置为自己的委托并编写自己的委托包装器。在记忆方面是否安全? (该对象将指向自己)

3 个答案:

答案 0 :(得分:1)

如前所述,有可能遵循MVC和其他类似的良好开发模式,将数据源和委托与视图分开是一个好主意。否则,您将走向难以测试代码并混合数据和视图之间边界的路径。对于您当前的计划,这可能并不明显,但可能会更晚。 通过子类化集合视图,您还将松开视图生命周期回调,包括viewDidLoad和viewWillAppear等,这对设置视图很有用。如果要实现自己的数据源和委托包装器,至少要对UICollectionViewController进行子类化。这样您就可以在不破坏良好实践的情况下自定义行为。

答案 1 :(得分:0)

我认为没有问题(记忆明智)因为委托和dataSource变量是weak

weak public var delegate: UICollectionViewDelegate?
weak public var dataSource: UICollectionViewDataSource?

答案 2 :(得分:0)

只要你有另一个对视图有强引用的类,你应该没有问题。视图将保留在内存中,直到父类释放它,或者父类本身被释放。