我遇到了一些麻煩,從nib加載子類UIViewController。我的viewDidLoad函數永遠不會被調用。viewDidLoad從來沒有調用子類UIViewController
超級沒有筆尖,但是每個子類都有自己的筆尖。即
@interface SuperClass : UIViewController {
}
@end
@interface SubClass : SuperClass{
}
@end
@implementation SubClass
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)viewDidLoad{
// Never called
}
的觀點是從筆尖加載如下:
SubClass *scvc = [[SubClass alloc] initWithNibName:@"SubClass" bundle:nil];
[self.navigationController pushViewController:scvc animated:YES];
[scvc release];
沒有此名稱的筆尖文件,它有它的文件所有者類設置正確。
viewDidLoad不在子或超級中調用。有任何想法嗎?
你確定筆尖裝載正確嗎,你能在現場看到它嗎?你可以添加NSLog(@「Methods%@ called」,NSStringFromSelector(_cmd));檢查哪些方法被調用。 – Tieme
不,筆尖加載不正確。從Super類中的代碼創建的視圖被加載,但nib文件中的視圖從未加載(所有IBOUtlets均爲零)。你會在哪裏登錄被調用的方法? – Steve