ios - 具有 8 个继承单元格类型的 UITableView

标签 ios objective-c design-patterns uitableview

我有一个 UITableView,有 8 种不同类型的单元格。这些自定义单元格有一些共同的设计(如左上角的图标、标题、副标题......)。然而,在这些共同特征下,每个细胞都是不同的。为了减少维护工作,我的 8 个单元格继承了一个默认的抽象单元格和公共(public) IBOutlet。

现在我的问题是:最好、最合适的方法是什么?

起初,我想到了使用 registerNib:forCellReuseIdentifier: 但这意味着 8 个不同的 xib。在这种情况下,如果其中一个常见的设计特征发生变化,我将需要遍历所有 8 个 xib 来改变同样的东西。我认为它不是非常高效和干净。

我还想到了 registerClass:forCellReuseIdentifier: 但这种方法不会创建带有 Nib 的单元格,因此我需要以编程方式完成所有操作。

解决方案可能是有一个通用的 xib,在 tableview 中注册不同的类,这些将负责使用他们自己的自定义设计。但我看不出如何使用前两种方法实现这一目标。

最佳答案

我会使用带有 8 个不同 UITableViewCell 子类的单个 nib 文件。您应该能够使用 registerClass:forCellReuseIdentifier: 并在类(UITableViewCell 的子类)中使用 nib 文件。如果不清楚,我会尝试提供一些代码。

关于ios - 具有 8 个继承单元格类型的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19952474/

相关文章:

python - 是否有标准的第 3 方 Python 缓存类?

c# - 应该如何以及在何处使用域对象方法?

objective-c - 是否可以合成 NSStrings 进行计算?

iphone - 使用映射模型在核心数据对象模型之间迁移

ios - 检测 IAP "Thank You"消息

objective-c - WTClient 中的 PROPFIND 请求

ios - UITableView 在 UITableViewCell 内容 View 中显示 UIDatePicker

ios - Xamarin UITableView 动画从错误的位置开始

iphone - EAAccessoryManager 是否列出已连接的蓝牙耳机?

java - OO 设计问题接口(interface)和类