我有自定义和非常简单的UITableViewCell。 我只是想通过在ios 6中使用新技术来初始化我的表视图,即在注册类和带有标识符的deque单元之后。 所以我有UITableViewController,在tableview中我有一个原型单元格,这里是它的图像。
起初我忘了在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方法中,所有出口都是零。
这是怎么回事?我做错了什么?
答案 0 :(得分:0)
如果您已将单元格定义为nib / storyboard文件中表格视图的原型单元格,则无需自动注册,也无需注册。但是在这种情况下,对于从nib / storyboard实例化的单元格调用initWithCoder:
。