自定义UITableViewCell with reuseIdentifier没有样式?

在我的tableview中,我需要一堆(5-6种)不同的单元格。 所有项目都具有相同的视觉布局,但内容明智(标签名称,图片和颜色),它们有很大的不同。

所以我有一个CustomUITableViewCell基类,在Interface Builder中用这个通用devise来devise。 这个CustomUITableViewCell类服务器作为一组单元子类的基类。 我使用工厂模式从工厂类的类方法生成这些子类。 这些子类没有xibs。 他们为什么会有共同的devise。

现在问题是,对于每个子类我需要一个不同的重用标识符。因此,人们会认为让我们覆盖每个子类的默认初始化器,并在其中调用另一个初始化器, initWithStyle:reuseIdentifier:

问题是它需要风格来指定。 它抱怨说,我不能把nil 。 但是我不需要苹果的任何风格,我明显有自己的风格,如果我想要有一个股票风格,为什么要做定制devise? 我只需要指定reuseIdentifier。

如果它是只读属性,如何分配重用标识符,似乎是通过初始化程序提供它的唯一方法?

前段时间我也有类似的问题。 我的解决scheme是重新声明reuseIdentifier作为读写属性的实现文件(的UITableViewCell子类)

 @interface MyCustomCell () @property(nonatomic, readwrite, copy) NSString *reuseIdentifier; @end 

并用不同的实例variables合成属性:

 @implementation MyCustomCell @synthesize reuseIdentifier = _myCustomCellReuseIdentifier; 

现在,您可以在自定义单元的init方法中分配self.reuseIdentifier

至less它在我的情况下工作,也许你可以使用它…