NSViewController的子类:使用' self'在self.init调用Error之前委托初始化程序

时间:2016-03-02 02:40:33

标签: swift initialization

我试图继承NSViewController,但它没有编译。 我得到了一个"使用' self'在调用self.init之前委托初始化程序"方便的init()中的错误。

我怎样才能驾驭它?

import Foundation
import AppKit

class HxLabelsViewController : NSViewController{

let LABEL_VIEW_NIB_NAME = "LabelsView"

convenience init() {
    self.init( nibName: LABEL_VIEW_NIB_NAME, bundle: nil)
}

override init!(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
    super.init( nibName: nibNameOrNil, bundle: nibBundleOrNil)
}


required init?(coder aDecoder: NSCoder!) {
    super.init(coder: aDecoder)
}

}

1 个答案:

答案 0 :(得分:1)

将常量移出类,如下所示:

let LABEL_VIEW_NIB_NAME = "LabelsView"

class HxLabelsViewController : NSViewController {
    convenience init() {
        self.init( nibName: LABEL_VIEW_NIB_NAME, bundle: nil)
    }
    // ...
}