为什么[[UIApplication sharedApplication]委托]; 返回一个零对象

Lia*_*iam 5 iphone

我有一个具有多个视图和相关控制器和xib文件的iphone应用程序.在加载的第一个视图的控制器中,我试图访问应用程序的委托,但返回的对象是nil

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
Run Code Online (Sandbox Code Playgroud)

任何想法为什么它会是零?

Nik*_*uhe 10

因为它尚未设定.UIApplication委托通常是从MainWindow nib文件中实例化和设置的.如果在完全加载笔尖之前访问它(例如,在同一笔尖中的控制器中的init方法),则为零.