使用loadNibNamed时未初始化子类UITableViewCell

the*_*atp 4 cocoa-touch initialization subclass uitableview ios

我有一个子类UITableViewCell的类.我需要在创建单元格时初始化单元格中的一些值,并且我使用以下方法创建它:

NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
Run Code Online (Sandbox Code Playgroud)

通过XCode"添加新文件"界面创建子类时,我得到以下方法:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) 
    {
        self.selectionStyle = UITableViewCellSelectionStyleBlue;

        [txtField setEnabled:YES];
        [txtField setTextColor:[UIColor redColor]];
        [txtField setPlaceholder:@"Fake Placeholder - Test Initialize"];

        [contactBtn setEnabled:YES];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

此方法中的代码永远不会被执行.我怎么能做到这一点?如果这不是实例化对象时使用的方法(使用NSBundle loadNibNamed),那么是什么?如何通过这种方式从笔尖创建单元格时初始化单元格?

任何帮助是极大的赞赏.

Ano*_*mie 7

从nib加载时,通过调用initWithCoder:而不是一个常规初始化方法来初始化视图.您可以覆盖此方法来进行初始化,也可以实现awakeFromNib.