我有一个 Objective-C 类,它尝试使用以下方法初始化 Swift 类对象:
- (id) init : (ObjCTestClass*) testclass
{
NSLog( @"Creating" );
self = [super init];
if ( !self )
{
return nil;
}
self.testclass = testclass;
self.swiftClass = [[SwiftClass alloc] init: self.testclass];
return self;
}
这是相应的 Swift 类:
final class SwiftClass: NSObject {
private var objcTestClass: ObjCTestClass
init(testclass:ObjCTestClass) {
provider = CXProvider(configuration: type(of: self).providerConfiguration)
objcTestClass = testclass
super.init()
}
}
我收到以下错误:
No visible @interface for 'xxx' declares the selector 'init:'
注意: ObjCTestClass 是一个 Objective-C 类。 我有桥接 header 将 Objective-C 公开给 Swift,反之亦然。
如何解决这个问题?
最佳答案
应该是[[SwiftClass alloc] initWithTestClass: self.testclass]。如果设置正确,当您键入时应该自动完成
关于ios - 'xxx' 没有可见的 @interface 声明选择器 'init:',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41029760/