Ear*_*rey 3 objective-c uitableview ios
在我的tableview中,我需要一堆(5-6种)不同的单元格.所有项目都具有相同的视觉布局,但内容明智(标签名称,图片和颜色),它们有很大不同.
所以我有一个CustomUITableViewCell基类,在Interface Builder中使用这种通用设计设计.这个CustomUITableViewCell类服务器作为一堆单元子类的基类.我使用工厂模式从工厂类中使用类方法生成这些子类.这些子类没有xib.为什么他们会有共同的设计.
现在的问题是,对于每个子类,我需要一个不同的重用标识符.所以,人们会认为让我们覆盖每个子类的默认初始化器,并在其中调用另一个初始化器,即initWithStyle:reuseIdentifier:.
问题是需要指定样式.nil它不能放在那里,它抱怨.但我不需要Apple的任何风格,我显然有自己的风格,如果我想要一个股票风格,为什么我会做自定义设计.我只需要指定reuseIdentifier.
如果它只是readonly属性,如何分配重用标识符,似乎提供它的唯一方法是通过初始化程序?
我前段时间遇到过类似的问题.我的解决方案是reuseIdentifier在实现文件(UITableViewCell子类)中重新声明为读写属性
@interface MyCustomCell ()
@property(nonatomic, readwrite, copy) NSString *reuseIdentifier;
@end
Run Code Online (Sandbox Code Playgroud)
并使用不同的实例变量合成属性:
@implementation MyCustomCell
@synthesize reuseIdentifier = _myCustomCellReuseIdentifier;
Run Code Online (Sandbox Code Playgroud)
现在,您可以self.reuseIdentifier在自定义单元格的init方法中进行分配.
至少它在我的情况下工作,也许你可以使用它...
| 归档时间: |
|
| 查看次数: |
4092 次 |
| 最近记录: |