我正在设计扩展UIViewController
和UITableViewDataSource
的UITableViewDelegate
,其中UITableViewCell
中的一个必须非常复杂,请考虑Facetime应用程序的呼叫屏幕,其中第一个单元格是电话屏幕,自我,而其他单元格是用户的信息。
此代码的组织有点“奇怪”,仅是因为我要一个UITableViewCell
用作具有自己内部状态的C0,也许是非常复杂的子视图层次。实际上,第一个UIViewController
可能包含各种集合视图。
在我编写任何代码之前,我想知道这是否是明显的反模式。如果是这样,有什么更好的设计方法?请记住,我不知道事先要在父表视图中包含多少项。
这是我研究过的应用中非常普遍的用例。最常见的用例是拥有一个TableViewCell,其中包含一个CollectionView控制器,用于水平滚动列表中的轮播。 (类似于Netflix,AppStore应用。)
要考虑的重要一件事是在循环期间恢复TableViewCell的状态及其内容的容易程度/可行性。如果TableViewCell包含例如流式视频播放器,这可能会很棘手。