无法从swift访问objective-c方法。桥设置和obj-c类实例化

时间:2016-03-03 18:11:01

标签: ios objective-c xcode swift bridging-header

这是我的第一个IOS应用程序,所有这些都很顺利。我的代码在 Swift 中,我需要在我的应用程序中使用Obj-C中的Gold Raccoon FTP库:https://github.com/albertodebortoli/GoldRaccoon

我导入了Gold Raccoon文件并创建了bridge header。您使用的主要类是GRRequestsManager,我可以在正在运行的应用程序中成功实例化。但是,我无法访问该类中的addRequestForUploadFileAtLocalPath方法。

我最初在桥文件中只有GRRequestsManager.h import语句。由于这继承了GRRequestsManagerProtocol.h,其中包含我尝试使用其中定义的实际方法(addRequestForUploadFileAtLocalPath),我决定将其添加到我的网桥头文件中,然后突然看到自动建议弹出方法,我可以把它放在我的代码中没有错误。几分钟后,我再次收到错误消息,无论如何都无法正常工作。我试过关闭并重新打开Xcode并清理/重建无济于事。

下面是一个合并图片(由于我的点数只能发布1张图片),首先显示bridging-header和第二张(红线分隔)我尝试调用的代码中的错误方法。你可以看到它很好地认可了这个课程。

Screenshots

1 个答案:

答案 0 :(得分:2)

我继续向Gold Raccoon库中的每个头文件添加一个include到我的桥接头,现在该方法被识别,我的代码编译完成!我仍然不太清楚为什么我需要这样做,但它确实做到了。如果有人愿意解释为什么我会喜欢理解它。