【问题标题】:How does NSApplicationMain find the main nib file?NSApplicationMain 如何找到主 nib 文件?
【发布时间】:2017-08-10 17:10:48
【问题描述】:

The documentation for the NSApplicationMain function 说它

从应用程序的主包中加载主 nib 文件

网上有建议NSApplicationMain通过查看Info.plist文件的键NSMainNibFile(被XCode混淆为“Main nib file base name”)找到“主nib文件”,即@987654326 @ 做了类似的事情

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 文件”的真正搜索过程是什么?

【问题讨论】:

    标签: objective-c swift cocoa xib nib


    【解决方案1】:

    如果键 NSMainNibFile 丢失,NSApplicationMain 会调用 [NSBundle loadNibNamed:nil owner:application],后者会调用 [mainBundle pathForResource:nil ofType:@"nib"],后者会返回它找到的第一个 nib 文件。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2011-08-25
    相关资源
    最近更新 更多