yba*_*kos 2 xcode cocoa nib nsbundle swift
在典型的Xcode项目中,您可以从这样的笔尖获取视图:
var objects: NSArray?;
NSBundle.mainBundle().loadNibNamed("ExampleView", owner: nil,
topLevelObjects: &objects)
var view :NSView
for obj in objects! {
if (obj.isMemberOfClass(NSView)) {
view = obj as NSView
}
}
// view is now the NSView object obtained from the nib. Yay.
Run Code Online (Sandbox Code Playgroud)
但是,如果我在同一个Xcode项目中创建一个游乐场并尝试获取视图,则上述代码将失败.实际上,loadNibNamed:owner:topLevelObjects:返回false,我们知道加载nib失败了.
即使我创建一个独立的游乐场,并将.xib文件放在Resources目录中,loadNibNamed:owner:topLevelObjects:仍然返回false.
为什么我不能loadNibNamed:owner:topLevelObjects:用来从操场上访问nib文件?这样做的正确方法是什么?
我犯的错误是将.xib而不是.nib放在Resources目录中.一旦我将正确的文件(.nib文件,durp)放在Resources目录中,我确实可以访问该视图.