Swift从.xib文件实例化NSView

时间:2014-06-11 03:29:14

标签: swift

我创建了一个HeadView.xib文件及其类文件HeadView.swift。在xib文件中,我将类设置为HeadView。

在我的ViewController中,我调用以下代码:

var myHeadView: HeadView?

@IBAction func buttonClicked(sender : NSButton?) {
    let myrect = CGRect(x: 0, y: 0, width: 350, height: 350)
    posView = POSView.init(frame:myrect)
}

编译器抱怨以下错误:

  

类型名称和

之后的预期成员名称或构造函数调用      

'()'不能转换为' HeadView'

在我的HeadView类中,我希望使用以下代码实例化xib文件

class HeadView: NSView {

    init(frame frameRect: NSRect) {
        super.init(frame:frameRect)

        var viewArray: NSArray?

        NSBundle.mainBundle().loadNibNamed("HeadView", owner: nil, topLevelObjects: &viewArray)

        return viewArray.ObjectAtIndex(0)
    }
}

在Swift中,init返回什么?有没有更好的方法从文件实例化视图?

1 个答案:

答案 0 :(得分:-3)

你不能在Swift中调用init

posView = POSView.init(frame:myrect)

应该是

posView = POSView(frame:myrect)