Swift Bridging Obj和Obj-C类的可见性

Nik*_*hik 7 objective-c ios swift xcode6

我已经在构建设置中指定了桥接头,它的完整路径,桥接头是自动创建的.在此之后,我在其中包含了我的obj-c头文件.但是每次调用对象构造函数的尝试都会失败:"使用未声明的标识符". 在此输入图像描述

我做过的事情清单:

  1. 创建.m文件和Xcode建议创建桥接头
  2. 将obj-c文件添加到项目中并将其导入标题中
  3. 在构建设置中提供了桥接头文件的完整路径

在此输入图像描述

  1. 在代码中使用了Obj-C类型......但它没有构建.
  2. 然后,我提供的不是标题的完整路径,而是项目所在文件夹的路径 - 没有结果.

我根据苹果文档仔细检查了所有步骤,但没有结果.为什么?任何帮助,将不胜感激.

vla*_*f81 2

按着这些次序:

  1. 创建一个 Swift 项目
  2. 添加一个测试类作为Cocoa Class,而不是分别添加 .m 和 .h。Xcode 提示添加桥接头。
  3. 在桥接标头中导入测试类标头,您已经这样做了。在 Swift 中实例化测试类应该没有问题。
  4. 将 BL_KeyChainWrapper .m 和 .h 复制到 finder 中的项目目录中。
  5. 将 BL_KeyChainWrapper 文件拖到项目中并确保Add to Targets
  6. 在桥接标头中导入 BL_KeyChainWrapper 标头。
  7. 在 Swift 中实例化 BL_KeyChainWrapper 类。

如果按照上面的步骤操作,还是报错。可能是您没有在 BL_KeyChainWrapper.h 中声明名为BL_KeyChainWrapper的类。确保在 BL_KeyChainWrapper.h 中包含如下代码:

@interface BL_KeyChainWrapper : BaseClass
Run Code Online (Sandbox Code Playgroud)