The documentation for the NSApplicationMain
function说它
从应用程序的主程序包
加载主nib文件
在网络上建议Info.plist
找到"主nib文件"通过查看密钥NSMainNibFile
上的NSApplicationMain
文件(由XCode混淆为"主nib文件基本名称"),即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
!
{{1}}用于查找"主nib文件"
的实际搜索程序是什么?答案 0 :(得分:4)
如果缺少密钥NSMainNibFile
,NSApplicationMain
会调用[NSBundle loadNibNamed:nil owner:application]
,调用[mainBundle pathForResource:nil ofType:@"nib"]
,返回找到的第一个nib文件。