我有一个小问题,我需要了解工作原理。我在SO内搜索过,但没有找到任何有效的解决方案。awakeFromNib在使用instantiateWithOwner时未调用:方法
我的场景如下。
我有一个UITableViewController
,通过UINib
方法instantiateWithOwner:
加载单元格(在其表中使用)。
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellClassName];
if (!cell) {
NSArray *topLevelItems = [cellLoader instantiateWithOwner:self options:nil];
cell = [topLevelItems objectAtIndex:0];
}
// other stuff here...
return cell;
}
单元显示正确。现在,我需要根据不同的标准定制每个单元格,我认为正确的位置是awakeFromNib
方法。神父例如,CustomTableViewCell
.M内,我重写awakeFromNib
类似如下:
- (void)awakeFromNib
{
// my internal stuff here
}
但awakeFromNib
不叫。
你能解释我做错了什么吗?
预先感谢您。
大卫,感谢您的答复。但为什么'awakeFromNib'没有被调用? +1为您的建议。 –
David,感谢您的编辑。我检查了课程,它在正确的地方。很奇怪。 ;(我会做一些测试,我会尽快回复评论,非常感谢您的支持。 –