The documentation for the NSApplicationMain
function说,它NSApplicationMain如何找到主要的笔尖文件?
负载从应用程序的主束主要笔尖文件
它建议NSApplicationMain
通过查看Info.plist
文件在发现“的主要笔尖文件”在网络上关键NSMainNibFile
(由的XCode混淆为“主笔尖文件基本名称”),即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
用来查找“主笔尖文件”的真实搜索程序是什么?
非常简明明确的答案,谢谢!作为参考:['load Nib命名(_:owner:options:)'](https://developer.apple.com/reference/foundation/bundle/1618147-loadnibnamed)和['path(for资源:类型:)'](https://developer.apple.com/reference/foundation/bundle/1410989-path) – jameshfisher
我有点困惑,因为'加载Nib命名(_: owner:options:)'不允许'nil'作为第一个参数。此行为是否记录在案? – jameshfisher
不,但Objective-C不介意。 [loadNibNamed:owner:](https://developer.apple.com/reference/foundation/nsbundle/1402904-loadnibnamed)已弃用。 – Willeke