【问题标题】:Subclass of NSViewController: use of 'self' in delegating initializer before self.init is called ErrorNSViewController 的子类:在调用 self.init 之前在委托初始化程序中使用“self”错误
【发布时间】:2016-03-02 02:40:33
【问题描述】:

我正在尝试子类化 NSViewController 但它无法编译。 我在方便的 init() 中收到“在调用 self.init 之前委托初始化程序时使用 'self'”错误。

我怎样才能搭上它?

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)
}

}

【问题讨论】:

    标签: swift initialization


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      相关资源
      最近更新 更多