The documentation for the NSApplicationMain
function说是这样
loads the main nib file from the application’s main bundle
网络上建议 NSApplicationMain
通过查看 Info.plist
文件中的 NSMainNibFile
键来查找“主 nib 文件” (被 XCode 混淆为“主 nib 文件基本名称”),即 NSApplicationMain
执行类似
let mainBundle: Bundle = Bundle.main
let mainNibFileBaseName: String = mainBundle.infoDictionary!["NSMainNibFile"] as! String
mainBundle.loadNibNamed(mainNibFileBaseName, owner: myApp, topLevelObjects: nil)
但是,如果我删除 NSMainNibFile
键,应用程序仍然会找到并加载我的 MainMenu.xib
文件!然后,如果我将文件重命名为 Foo.xib
,应用程序会查找并加载 Foo.xib
!
NSApplicationMain
用于查找“主 nib 文件”的真正搜索过程是什么?
最佳答案
如果缺少 NSMainNibFile
键,NSApplicationMain
会调用 [NSBundle loadNibNamed:nil Owner:application]
,后者会调用 [mainBundle pathForResource :nil ofType:@"nib"]
返回它找到的第一个 nib 文件。
关于objective-c - NSApplicationMain 如何找到主 nib 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42886400/