我有一个我使用的自定义UITableViewCell
:
AppTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"AppTableCell" owner:self options:nil];
for(id currentObject in topLevelObjects) {
if([currentObject isKindOfClass:[AppTableCell class]]) {
cell = (AppTableCell *)currentObject;
break;
}
}
}
完美无瑕地工作。但是,我想在创建时为单元格做一些自定义的事情。通常我会覆盖像initWithFrame
这样的东西,但这里没有使用它。我应该覆盖哪种方法来自定义初始化?
答案 0 :(得分:19)
正确的方法是为UITableViewCell覆盖awakeFromNib。
- (void)awakeFromNib
{
[super awakeFromNib];
// Do something
}
有关详细信息,请参阅references。
答案 1 :(得分:4)
从nib取消归档的对象将发送-initWithCoder:
消息。这是你的覆盖点。