【发布时间】:2016-05-16 15:17:07
【问题描述】:
我在 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 类可见,即#imported:
#import "MyProject-Swift.h"
但是,您不能将 Swift 自动生成的桥接头导入到 Obj-C .h 文件中。你也不能用@class 前向声明一个不透明的超类。那么,这是否可能以及如何实现?
【问题讨论】:
标签: ios objective-c swift inheritance