我想在Objective-C中调用Swift闭包。
即使我声明了该函数,还是会有这样的错误:
“用户”没有可见的@interface声明选择器“ isReady”
迅速:
@objcMember
class User:NSObject {
func isReady(isTrue: Bool) -> Bool {
return true
}
}
Objective-C:
User *user = [[User alloc] init];
[_user isReady]. <- error
答案 0 :(得分:0)
添加到函数@objc修饰符:
@objcMember
class User:NSObject {
@objc public func isReady(isTrue: Bool) -> Bool {
return true
}
}
并在函数中添加public修饰符,以允许从其他模块进行访问(作为模块构建的swift代码,ObjC代码应将其导出并通过开放接口进行访问)。