我正在使用委託爲我的應用程序存儲數據。我有一個帶有navigationviewcontroller作爲第一個視圖控制器的tabviewcontroller。當我設置代理使用委託= [[UIApplication sharedApplication]委託];在init中不起作用:只有viewDidLoad
delegate = [[UIApplication sharedApplication] delegate];
委託在init方法之外爲空。
但是,它在viewDidLoad中的位置時正常工作。任何想法,爲什麼這可能是?
UPDATE
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
delegate = [[UIApplication sharedApplication] delegate];
}
return self;
}
你重寫哪個初始化方法?被調用者取決於如何創建控制器。 – Caleb
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 此外,它被調用,並且委託在init方法內部設置,但是如果我嘗試訪問init方法之外的委託(例如,在viewDidLoad中),那麼委託是空的 – James
但它在init方法內工作嗎?它不是空嗎? – akashivskyy