我有一个继承UITableViewCell的类。我需要在创建单元格时初始化单元格中的一些值,并且我使用以下方法创建它:
NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
通过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;
}
此方法中的代码永远不会被执行。我怎么能做到这一点?如果这不是实例化对象时使用的方法(使用NSBundle loadNibNamed),那么是什么?如何以这种方式从笔尖创建单元格时初始化单元格?
非常感谢任何帮助。
答案 0 :(得分:7)
从nib加载时,通过调用initWithCoder:
而不是一种常规初始化方法来初始化视图。您可以覆盖此方法以进行初始化,也可以实现awakeFromNib
。
答案 1 :(得分:0)
加载nib不会创建任何对象,因为它们已经创建,然后在nib文件中序列化。
尝试使用awakeFromNib方法,该方法将被发送到nib文件中的所有对象。