在Objective C中看不到带闭包的Swift init

时间:2016-05-17 15:29:05

标签: objective-c swift

带有闭包的swift自定义启动器在目标c代码中不可见。

 init(url:String,request:ABaseRequest,
  type:AnyClass, success:(ABaseResponse)->Void,
   failure:(ResponseCode,NSError)->Void) {

    ......
    ......
}

其中没有闭包的init是可见的

 init(url:String,request:ABaseRequest,type:AnyClass) {
    ......
    ......
}

你们知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

检查完整个代码后,我在代码中发现了问题。我的闭包内使用的类没有用@objc注释! 。所以要小心,每个将要接触到目标c的类都应该用@objc注释。感谢。

答案 1 :(得分:0)

到目前为止,您可能已经解决了这个问题。我自己遇到了类似的人。

除非存在其他问题,否则可以通过尝试构建项目来修复可见性问题。如果你在Swift代码中引入了一些新东西,它可能不会立即被Objective-C代码看到,但构建项目应该修复它。

如果存在与自定义初始化程序相关的其他问题,编译器将在您尝试构建时告诉您。如果是这种情况,请在此处分享问题。