在我的表视图中,我需要一堆(5-6种)不同的单元格。所有的项目都有相同的视觉布局,但在内容方面(标签名称、图片和颜色),它们有很大的不同。
因此,我有一个CustomUITableViewCell基类,在接口生成器中使用这种通用设计进行设计。这个CustomUITableViewCell类服务器作为一堆单元子类的基类。我通过使用工厂模式的工厂类的类方法生成这些子类。这些子类没有xibs。为什么他们会有共同的设计。
现在的问题是,对于每个子类,我需要一个不同的重用identifier.So,人们会认为让我们覆盖每个子类的默认初始化器,并在其中调用另一个初始化器,即initWithStyle:reuseIdentifier:。
问题是它需要指定样式。我不能把nil放在那里,它抱怨道。但我不需要来自苹果的任何风格,我显然有自己的风格,为什么我要做定制设计,如果我想有一个库存风格。我只需要指定reuseIdentifier。
如果重用标识符是readonly属性,那么如何分配它,而且似乎唯一的方法是通过初始化器来提供它?
发布于 2012-10-04 22:53:44
前段时间我也遇到过类似的问题。我的解决方案是在( UITableViewCell子类的)实现文件中将reuseIdentifier重新声明为读写属性。
@interface MyCustomCell ()
@property(nonatomic, readwrite, copy) NSString *reuseIdentifier;
@end并使用不同的实例变量合成该属性:
@implementation MyCustomCell
@synthesize reuseIdentifier = _myCustomCellReuseIdentifier;现在,您可以在自定义单元格的初始化方法中分配self.reuseIdentifier。
至少它在我的案例中起作用了,也许你可以用它。
https://stackoverflow.com/questions/12729612
复制相似问题