我已经在Xcode 7项目中成功混合并匹配了Obj-C和Swift。但是,我似乎无法弄清楚在Objective C类中如何从Swift类继承(是的,我知道将Swift类声明@objc
为可见性)。在这种情况下,所需的Swift超类MySwiftViewController
是的子类UIViewController
。现在,在Obj-C中,我直接继承自,UIViewController
而无法访问在中添加的功能MySwiftViewController
。
这是我的理解:
-要将Obj-C类声明为继承自某些内容,该类必须在':'之后的.h文件中:
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
@end
-要使Swift类可见,请执行#import
ed:
#import "MyProject-Swift.h"
但是,您不能将Swift自动生成的桥接标头导入Obj-C .h文件。您也不能使用向前声明不透明的超类@class
。那么,这有可能吗?
不幸的是,不可能在Objective-C中继承Swift类。直接来自文档:
您不能在Objective-C中继承Swift类。
有关使用Objective-C可以访问和不能访问的内容的更多详细信息,请参阅Apple的互操作性指南。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句