# 通过自动创建的 Bridging header 导入 Obj-C 类, Bridging header 似乎找到它但 Swift 类不会

Posted

技术标签:

【中文标题】# 通过自动创建的 Bridging header 导入 Obj-C 类, Bridging header 似乎找到它但 Swift 类不会【英文标题】:# Imported Obj-C class through automatically created Bridging header, Bridging header seems to find it but Swift class won't 【发布时间】:2015-06-17 22:25:31 【问题描述】:
    我将文件直接添加到我的项目中,从 finder 到 Xcode。 桥接头是由 Xcode 自动创建的。 #import 将类放入桥接头 - 桥接头没有问题。

    我尝试将 Class var 实例化为 swift 类 - 出现“use of undeclared type”错误。

    注意:当我尝试在 #importCOMMAND + 单击 时,我收到消息“未找到符号”。

【问题讨论】:

请发布您的代码和指向 Xcode 中用户定义的构建设置屏幕截图的链接。 【参考方案1】:

您需要将您的桥接文件名设置为“构建设置”中 Swift 编译器部分下的“Objective-C 桥接头”字段,以便编译器将其包含在内。

“未找到符号”只是一个 Xcode 错误,我明白了,但使用桥接文件没有问题。

【讨论】:

所以我又做了一遍。我仍然得到“使用未声明的类型”。【参考方案2】:

原来试图引用“其他文件”(B.swift)的文件(A.swift)具有“测试目标成员资格" 已选中!所以我要么必须将“其他文件”(B.swift)添加到测试目标成员或删除文件(A .swift) 来自测试目标成员。我希望这是有道理的,并且对某人有所帮助。

【讨论】:

以上是关于# 通过自动创建的 Bridging header 导入 Obj-C 类, Bridging header 似乎找到它但 Swift 类不会的主要内容,如果未能解决你的问题,请参考以下文章

Swift:通过 Bridging-Header 文件导入时找不到 CorePlot-CocoaTouch.h 文件

删除 Bridging Header 后从 Interface Builder 拖动时 Xcode 崩溃

XCode 7.3 破坏了 Bridging-Header.h?

XCode 7.3 破坏了 Bridging-Header.h?

Swift与OC混编

预计“myproj”-Bridging-Header.swift 中会出现类型错误