自定义UITableViewCell的覆盖

时间:2011-12-06 21:58:17

标签: iphone ios

我有一个我使用的自定义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这样的东西,但这里没有使用它。我应该覆盖哪种方法来自定义初始化?

2 个答案:

答案 0 :(得分:19)

正确的方法是为UITableViewCell覆盖awakeFromNib。

- (void)awakeFromNib
{
    [super awakeFromNib];
    // Do something
}

有关详细信息,请参阅references

答案 1 :(得分:4)

从nib取消归档的对象将发送-initWithCoder:消息。这是你的覆盖点。