7

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

我做过的事情清单:

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

在此处输入图像描述

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

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

4

2 回答 2

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
于 2014-06-29T15:57:36.997 回答
0

好吧,在创建一个带有桥接头的测试项目后,我发现了以下内容:

  1. 我添加了 .m 文件,Xcode 建议我创建桥接头。

  2. 我添加了 .h 文件,将其命名为类并以这种方式创建了 Obj-C 类。

和:

在构建设置中 - 代码生成部分如下所示:

在此处输入图像描述

桥接文件位于以下路径:

项目名称/BridgHeader.h

与 .xcodeproj 文件处于同一级别。

但:

当我将已创建的 Obj-C 类添加到项目并在桥接头中添加标头导入时,我无法使用它:

在此处输入图像描述

所以,我猜,Xcode 6 beta 2 不能将现有文件添加到 swift 项目中。有人遇到过这个麻烦吗?因为我不想粘贴我开发了 5 年的所有现有库来创建文件。

PS:

桥接头:

在此处输入图像描述

于 2014-06-29T15:17:15.137 回答