在Objective-C中,是否有必要覆蓋子類的所有繼承構造函數以添加自定義初始化邏輯?覆蓋子類中的init
例如,將下面是一個UIView
子類定製的初始化邏輯是否正確?
@implementation CustomUIView
- (id)init {
self = [super init];
if (self) {
[self initHelper];
}
return self;
}
- (id)initWithFrame:(CGRect)theFrame {
self = [super initWithFrame:theFrame];
if (self) {
[self initHelper];
}
return self;
}
- (id)initWithCoder:(NSCoder *)decoder {
self = [super initWithCoder:decoder];
if (self) {
[self initHelper];
}
return self;
}
- (void) initHelper {
// Custom initialization
}
@end
所以,即使我實例CustomUIView用普通的init,它會調用initWithFrame? – hpique 2010-12-05 16:39:54