簡體   English   中英

必須調用超類“ UIViewController”的指定初始化程序

[英]Must call a designated initializer of the superclass 'UIViewController'

我有一個在ObjC中定義的A類和B類-在Swift中定義的A的子類。 實現如下:

A級

- (id)init {
     return [super init];
}

B級

init(url: NSURL) {
    super.init()
    let request = NSMutableURLRequest(URL: url)
    request.setValue(valueID, forHTTPHeaderField: "value_ID")
    urlRequest = request
}

convenience init(recoveryURL: NSURL) {
    self.init(url: recoveryURL)
}

required public init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

類B的初始化如下(因為它是從xib文件加載的):

ClassB *b = [[ClassB alloc] initWithNibName:@"ClassA" bundle:nil];

在類B的init(url: NSURL)super.init()行上看到此錯誤。我正在嘗試使用便捷初始化程序。 如果有人可以指出我,我將不勝感激。

考慮將以下代碼放入viewDidLoad

let request = NSMutableURLRequest(URL: url)
request.setValue(k_strOfferingIdValueHeader, forHTTPHeaderField: "offering_id")
urlRequest = request

它通常是最干凈的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM