使用我的自定义初始化器来初始化我的表格单元格(继承 UITableViewCell)

Posted

技术标签:

【中文标题】使用我的自定义初始化器来初始化我的表格单元格(继承 UITableViewCell)【英文标题】:Use my custom initialier to initialize my table cell (inherit UITableViewCell) 【发布时间】:2013-04-30 09:13:11 【问题描述】:

我已经创建了我的自定义表格单元类:

@interface CommonCell : UITableViewCell
   ...


@end

在它的实现文件中,我创建了一个自定义初始化器方法:initWithCellHeight:reuseIdentifier:showName

其中调用了[super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]),如下所示:

@implementation CommonCell

- (id)initWithCellHeight:(float)cellHeight reuseIdentifier:(NSString *)reuseIdentifier showName:(BOOL)showName

    if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier])) 

        [self createViews: showName];
    
    return self;

当我通过以下方式在控制器中使用单元类时:

#import "CommonCell.h"

...
cell = [[[CommonCell alloc] initWithCellHeight:150 reuseIdentifier:@"CommonCellId" showName:YES] autorelease];

我收到警告消息:instance method "initWithCellHeight:reuseIdentifier:showName" not found

为什么?为什么我的表格单元格不能使用我的自定义初始化程序?

【问题讨论】:

【参考方案1】:

为什么- (id)initWithCellHeight:(float)cellHeight reuseIdentifier:(NSString *)reuseIdentifier showName:(BOOL)showName 没有出现在头文件中?您需要先声明它,然后才能使用它来删除警告。

【讨论】:

你是对的!我忘记在我的头文件中声明它。我必须等待 5 分钟才能接受您的回答,谢谢!:)

以上是关于使用我的自定义初始化器来初始化我的表格单元格(继承 UITableViewCell)的主要内容,如果未能解决你的问题,请参考以下文章

Swift:不能以编程方式配置自定义表格单元格?没有调用初始化?

具有自定义类的原型单元不会触发初始化?

显示零的自定义表格单元格

表格视图中的自定义单元格未显示?

为啥我的自定义表格单元格中的标签在单击行之前无法显示

在表格视图中访问我的自定义单元格