2015-11-06 83 views
1

我有init() objc類的方法。快速擴展objc,初始化器

一個迅速類的子類的objc類,並試圖調用super.init()

這是一個錯誤,因爲init()不是MyObjcViewcontroller一個指定的初始化。

@interface MyObjcViewController: UIViewController { 
} 

- (id) init; 

@end 

@implementation MyObjcViewController 

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

@end 


@objc class MySwiftViewController: MyObjcViewController { 

    override init() { 
     super.init()   // error 
    } 

} 
+0

'MySwiftViewcontroller :: init()'看起來更像C++ Objective-C或Swift ... –

+0

哦,我只是試圖顯示pududo代碼..是的,我會解決它。 – eugene

+0

也許它有助於用NS_DESIGNATED_INITIALIZER修飾Objective-C方法,請比較http://stackoverflow.com/questions/26185239/ios-designated-initializers-using-ns-designated-initializer。 –

回答

0

您試圖將objective-c和swift放入同一行代碼中。如果你想這樣做,你應該使用一個橋接器來編譯文件,而不會在編譯器之間產生干擾。如果這不能回答你的問題,請告訴我。