如何从操场内的笔尖获取视图?

时间:2015-03-06 05:07:41

标签: xcode cocoa swift nib nsbundle

在典型的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.

但是,如果我在同一个Xcode项目中创建一个游乐场并尝试获取视图,则上述代码将失败。事实上,loadNibNamed:owner:topLevelObjects:返回false,我们知道加载nib失败。

即使我创建一个独立的游乐场,并将.xib文件放在Resources目录中,loadNibNamed:owner:topLevelObjects:仍然返回false。

为什么我不能使用loadNibNamed:owner:topLevelObjects:从操场中访问nib文件?这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:6)

我犯的错误是将.xib而不是.nib放在Resources目录中。一旦我将正确的文件(.nib文件,durp)放在Resources目录中,我确实可以访问该视图。