Ios 应用程序代理在我们的Cocoa/Cocoa touch应用程序中的注册位置

Ios 应用程序代理在我们的Cocoa/Cocoa touch应用程序中的注册位置,ios,cocoa-touch,cocoa,Ios,Cocoa Touch,Cocoa,每个应用程序都有一个应用程序委托 在我们指定/注册的代码中,其中“SomeClass”(UIApplicationLegate的子类)是我的应用程序的委托?这就是我如何找到我的应用程序的应用程序委托 MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 应用程序委托的类名只是应用程序的名称,后跟“AppDelegate”。您将在项目的文件列表中看到该类,但它是自动创

每个应用程序都有一个应用程序委托


在我们指定/注册的代码中,其中“SomeClass”(UIApplicationLegate的子类)是我的应用程序的委托?

这就是我如何找到我的应用程序的应用程序委托

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
应用程序委托的类名只是应用程序的名称,后跟“AppDelegate”。您将在项目的文件列表中看到该类,但它是自动创建的。只需查找文件“MyAppDelegate.m”


此类在“窗口化”应用程序的MainWinodw.xib中分配了代理职责。如果您没有使用窗口应用程序,您可能会在调用“main.m”文件中的
UIApplicationMain
中找到分配。

如果您使用故事板,这是在main.m中完成的,行为:

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
如果
UIApplicationMain()
的第四个参数不是
nil
,则函数将创建指定类的实例,并将其指定为
UIApplication
对象的委托


如果不使用故事板,则会在
main window.xib
中建立连接,其中创建了应用程序委托对象,并将其作为文件所有者的委托进行连接(这是
UIApplication
实例,反过来由
UIApplicationMain()
函数创建).

我们在哪里指定
MyAppDelegate
是我们应用程序的主要委托人对不起,我已经在上面澄清了这一点。但是我看到Ole在我编辑的时候说了同样的话!无论如何,希望您找到所需的信息。它不是
uiapplicationelegate
的子类。它是一个符合
uiapplicationelegate
协议的类。此外,吹毛求疵的是,它不是一个委托类,而是该类的一个实例。无论您是否使用故事板,它都是通过
UIApplicationMain
完成的。我不确定更改是什么时候发生的,但从Xcode 4.2.1开始,没有一个Cocoa Touch模板使用主nib。