子类化时混合了objective-c和swift

我有一个名为“BaseViewController”的Swift写的UIViewController的子类。 我现在有一个名为“ViewController1”的“旧”视图控制器,用Objective-C编写,我想从“BaseViewController”inheritance。 按照其他的build议,我已经导入了“Project-Swift.h”头文件。

我的问题发生时,像这样的子类化

#import <UIKit/UIKit.h> #import "MyProject-Swift.h" @interface ViewController1 : BaseViewController @end 

错误是:

不能使用objc_subclassing-restricted属性来inheritance一个类

它出现在@interface …行上。

你不能在Objective-C中inheritance一个Swift类。

摘自使用Cocoa和Objective-C的Swift

你不能在Objective-C中inheritance一个Swift类。 比照 在本文档的结尾处:

但是,请注意,您不能在Objective-C中inheritanceSwift类。

这是一个编译错误,所以U不能在objc中inheritance一个swift类。

 SWIFT_CLASS("_TtC6Swifty14ViewController") @interface ViewController : UIViewController @end # if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # else # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # endif #endif