我注意到,如果您从nib加载连接视图,如果您想添加初始化代码,则必须重写initWithCoder,因为指定的初始值设定项没有被调用(这是有意义的),如果您没有从nib加载视图,则需要在指定的初始值设定项中执行相同的代码。
因此,为了处理这两种情况,两种方法都需要相同的初始化代码。
- (void)didFinishInitializingOrUnacrhiving {
}
- (id)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
[self didFinishInitializingOrUnacrhiving];
}
return self;
}
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self didFinishInitializingOrUnacrhiving];
}
return self;
}
你对此有何想法?这是做事情的“正确方式”吗?这里是否存在潜在的陷阱,还是我完全错过了什么?