我得到了一個BaseClass
UIViewController類。它運作良好。 BaseClass
has BaseClass.xib如何讓子類引用其超類的XIB?
然後我創建了該基類的一個子類。
原來沒有連接的插座。
我把
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
return self;
}
而且是有其道理。它叫。我不確定解碼器是什麼。我認爲這是childClass的XIB的表示,它不存在。我希望超級用超級的xib初始化。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
永遠不會被調用。
其實我自己很困惑。當我們有xib時,看起來-(id)initWithCoder:(NSCoder *)aDecoder
就是所謂的。所以我想知道initWithNibName的作用是什麼?
我試圖
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithNibName:NSStringFromClass([super class]) bundle:nil];
return self;
}
你如何初始化你的視圖控制器?使用'UIViewController'的'initWithNibName:bundle:'或'NSBundle''loadNibNamed:owner:'? – DrummerB
initWithNibName:bundle: –