我只希望能够以编程方式创建我的程序。因此,我转到File > New > Project并选择Cocoa Application,并确保在向导的下一步中未选中“使用情节提要”。它给我的项目中有一个MainMenu.xib文件。我不知道什么是.xib文件,但是我知道它们以我不了解的方式弄乱了我的程序。
那么,如何在没有这些“ storyboard”或“ interface builder”东西的情况下创建一个新的Cocoa Application?启动一个空窗口的最小的纯编程程序是什么?
要回答的第一个问题是:为什么?即使是基础知识MainMenu.xib也可以为您完成很多工作:创建应用程序的菜单栏,并允许您轻松设置应用程序委托以及其他功能。您可以使用该非常基本的MainMenu.xib文件,并且仍然可以根据需要手动创建其他所有文件(Windows等)。
如果确实希望.xib完全避免使用文件,则可以,但是这样做需要对Cocoa有一定的了解。
首先,可可应用程序的main功能如下所示:
int main(int argc, const char * argv[])
{
return NSApplicationMain(argc, argv);
}
Run Code Online (Sandbox Code Playgroud)
也就是说,它只是调用了Cocoa的NSApplicationMain函数。
根据NSApplication文档,NSApplicationMain()本质上是这样做的:
void NSApplicationMain(int argc, char *argv[]) {
[NSApplication sharedApplication];
[NSBundle loadNibNamed:@"myMain" owner:NSApp];
[NSApp run];
}
Run Code Online (Sandbox Code Playgroud)
现在,如果您根本不使用.xib文件,则要避免MainMenu.xib完全加载文件,因此,您将需要编辑默认main()函数以执行以下操作:
int main(int argc, const char * argv[])
{
[NSApplication sharedApplication];
[NSApp setDelegate:[[YourDelegate alloc] init]];
[NSApp run];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后YourDelegate将负责创建主应用程序菜单,窗口等。
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |