ios 6自定义UITableViewCell初始化的奇怪行为

时间:2013-06-06 18:10:17

标签: ios6 uitableview

我有自定义和非常简单的UITableViewCell。 我只是想通过在ios 6中使用新技术来初始化我的表视图,即在注册类和带有标识符的deque单元之后。 所以我有UITableViewController,在tableview中我有一个原型单元格,这里是它的图像。enter image description here

起初我忘了在Table View控制器中的viewDidLoad方法中注册该类,它工作正常。这是代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomCell *cell = [tableView  dequeueReusableCellWithIdentifier:@"customCellIdentifier" forIndexPath:indexPath];

    return cell;
}

但在这种情况下

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
在单元初始化过程中不会调用

然后我将寄存器类功能放在viewdidload中。 这是代码

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:@"customCellIdentifier"];

}

之后- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier开始调用,但在这种情况下,当我尝试调试时,单元格绝对是空的,在initwithstyle方法中,所有出口都是零。 这是怎么回事?我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您已将单元格定义为nib / storyboard文件中表格视图的原型单元格,则无需自动注册,也无需注册。但是在这种情况下,对于从nib / storyboard实例化的单元格调用initWithCoder: