Xcode 如何从游乐场内的笔尖获取视图?
在典型的Xcode项目中,您可以从nib获得如下视图:Xcode 如何从游乐场内的笔尖获取视图?,xcode,cocoa,swift,nib,nsbundle,Xcode,Cocoa,Swift,Nib,Nsbundle,在典型的Xcode项目中,您可以从nib获得如下视图: var objects: NSArray?; NSBundle.mainBundle().loadNibNamed("ExampleView", owner: nil, topLevelObjects: &objects) var view :NSView for obj in objects! { if (
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文件?正确的方法是什么?我犯的错误是将.xib而不是.nib放在参考资料目录中。一旦我将正确的文件(即.nib文件,durp)放入Resources目录,我确实可以访问该视图。要生成一个.nib文件ibtool--compile view.nib view.xib
我认为正确的语法是:ibtool input.xib--compile output.nib