带有闭包的swift自定义启动器在目标c代码中不可见。
init(url:String,request:ABaseRequest,
type:AnyClass, success:(ABaseResponse)->Void,
failure:(ResponseCode,NSError)->Void) {
......
......
}
其中没有闭包的init是可见的
init(url:String,request:ABaseRequest,type:AnyClass) {
......
......
}
你们知道如何解决这个问题吗?
答案 0 :(得分:1)
检查完整个代码后,我在代码中发现了问题。我的闭包内使用的类没有用@objc
注释! 。所以要小心,每个将要接触到目标c的类都应该用@objc
注释。感谢。
答案 1 :(得分:0)
到目前为止,您可能已经解决了这个问题。我自己遇到了类似的人。
除非存在其他问题,否则可以通过尝试构建项目来修复可见性问题。如果你在Swift代码中引入了一些新东西,它可能不会立即被Objective-C代码看到,但构建项目应该修复它。
如果存在与自定义初始化程序相关的其他问题,编译器将在您尝试构建时告诉您。如果是这种情况,请在此处分享问题。