设置视图作为他们自己的代表swift
答
这将是可能的,如前所述,但遵循MVC和其他类似的良好开发模式,保持数据源和委托与视图分离是一个好主意。否则,您将走向一条难以测试代码的路径,并混合数据和视图之间的界限。这种影响可能与您目前的计划并不一致,但可能会稍后。 通过子类化集合视图,您还将放弃视图生命周期回调,包括viewDidLoad和viewWillAppear等,这些可以用来设置视图。如果你想实现自己的数据源和委托包装器,至少需要子类UICollectionViewController。这样您就可以在不违反良好规范的情况下自定义行为。
答
我觉得没有问题,即(内存明智)作为委托和数据源vaiables是weak
weak public var delegate: UICollectionViewDelegate?
weak public var dataSource: UICollectionViewDataSource?
答
只要你有一个有另一个类强烈的参考意见,你应该没有问题。视图将保存在内存中,直到父类释放它,或者父类本身被处置。
没有内存问题,但它可能会导致难以使用或难以维护的代码。收集视图需要在某个时刻与其他对象进行协调,并且不需要代理将会很困难。 –