Cocoa app without a MainMenu.xib

試著忘記壹切 提交于 2019-12-04 10:23:15

问题


For iOS (Cocoa Touch), it's possible to go to your main.m and replace the fourth argument in UIApplicationMain(int argc, char *argv[], nil, nil) with the class name of your app's delegate, which would then construct the views as needed. However, Cocoa (Mac) projects have the following in main.m:

    return NSApplicationMain(argc, (const char **)argv);

So the question is basically: how do you hand over an app's delegate to Cocoa apps without a MainMenu.xib?


回答1:


You can use setDelegate method of NSApplication instance. Here is a sample:

AppDelegate * delegate = [[AppDelegate alloc] init];
[[NSApplication sharedApplication] setDelegate:delegate];
[NSApp run];

As for return value you can use EXIT_SUCCESS




回答2:


Subclass NSApplication, declare your subclass's name as the Application Class (or similar) property in Xcode. In your subclass you may override some function that gets called when the app is initialized, maybe -finishLaunching?



来源:https://stackoverflow.com/questions/6945872/cocoa-app-without-a-mainmenu-xib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!