【发布时间】:2013-11-13 11:23:20
【问题描述】:
我有一个 UITableView,有 8 种不同类型的单元格。这些自定义单元格有一些共同的设计(如左上角图标、标题、副标题......)。然而,在这些共同特征下,每个细胞都是不同的。为了减少维护,我的 8 个单元继承自一个默认抽象单元,该单元具有公共 IBOutlet。
现在我的问题是:最好、最合适的方法是什么?
起初,我想使用 registerNib:forCellReuseIdentifier: 但这意味着 8 个不同的 xib。在这种情况下,如果其中一个常见的设计功能发生变化,我需要尝试所有 8 个 xib 来更改相同的东西。我认为这不是很高效和干净。
我也想到了 registerClass:forCellReuseIdentifier:,但这种方法不会使用 nib 创建单元格,因此我需要以编程方式完成所有操作。
解决方案可以是一个通用的 xib,在 tableview 中注册不同的类,这些将负责使用他们自己的自定义设计。但我看不出如何用这两种以前的方法来实现这一点。
【问题讨论】:
-
你找到什么优雅的解决方案了吗?
标签: ios objective-c design-patterns uitableview