2015-11-06 54 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放入同一行代码中。如果你想这样做,你应该使用一个桥接器来编译文件,而不会在编译器之间产生干扰。如果这不能回答你的问题,请告诉我。