当前位置:  开发笔记 > IOS > 正文

如何在XCode中没有情节提要或界面构建器的情况下创建Cocoa应用程序?

如何解决《如何在XCode中没有情节提要或界面构建器的情况下创建Cocoa应用程序?》经验,为你挑选了1个好方法。

我只希望能够以编程方式创建我的程序。因此,我转到File > New > Project并选择Cocoa Application,并确保在向导的下一步中未选中“使用情节提要”。它给我的项目中有一个MainMenu.xib文件。我不知道什么是.xib文件,但是我知道它们以我不了解的方式弄乱了我的程序。

那么,如何在没有这些“ storyboard”或“ interface builder”东西的情况下创建一个新的Cocoa Application?启动一个空窗口的最小的纯编程程序是什么?



1> mipadi..:

要回答的第一个问题是:为什么?即使是基础知识MainMenu.xib也可以为您完成很多工作:创建应用程序的菜单栏,并允许您轻松设置应用程序委托以及其他功能。您可以使用该非常基本的MainMenu.xib文件,并且仍然可以根据需要手动创建其他所有文件(Windows等)。

如果确实希望.xib完全避免使用文件,则可以,但是这样做需要对Cocoa有一定的了解。

首先,可可应用程序的main功能如下所示:

int main(int argc, const char * argv[])
{
    return NSApplicationMain(argc, argv);
}

也就是说,它只是调用了Cocoa的NSApplicationMain函数。

根据NSApplication文档,NSApplicationMain()本质上是这样做的:

void NSApplicationMain(int argc, char *argv[]) {
    [NSApplication sharedApplication];
    [NSBundle loadNibNamed:@"myMain" owner:NSApp];
    [NSApp run];
}

现在,如果您根本不使用.xib文件,则要避免MainMenu.xib完全加载文件,因此,您将需要编辑默认main()函数以执行以下操作:

int main(int argc, const char * argv[])
{
    [NSApplication sharedApplication];
    [NSApp setDelegate:[[YourDelegate alloc] init]];
    [NSApp run];
    return 0;
}

然后YourDelegate将负责创建主应用程序菜单,窗口等。

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有