- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个使用 swift 类的 objective-c 类。一切正常。
我想将 objective-c 类导入到一个 swift 类中,所以我将它的头文件添加到桥接头文件中。突然间我收到一个错误,找不到 Projectname_swift.h 文件。
关于如何解决这个问题有什么想法吗?这真的可能吗?
最佳答案
已创建循环引用,导致 Swift 代码无法编译(这导致金丝雀错误,指出未找到 _Swift.h
文件)。
长话短说,documentation明确表示不要这样做:
To avoid cyclical references, don’t import Swift code into an Objective-C header (.h) file. Instead, you can forward declare a Swift class or protocol to reference it in an Objective-C interface.
Forward declarations of Swift classes and protocols can only be used as types for method and property declarations.
为了使您的代码再次编译,您需要删除 #import "Projectname_Swift.h"
来自有问题的 Objective-C header 的行。理想情况下,您可以简单地将 import 语句移动到您的 .m 文件中,但是如果您需要在 ObjC header 中公开公开 Swift 类,那么您必须使用 @class SomeSwiftClass;
转发声明它。 .
关于objective-c - 将使用 swift 类的 objective-c 类添加到桥接 header Projectname_swift.h 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44171799/
我有一个使用 swift 类的 objective-c 类。一切正常。 我想将 objective-c 类导入到一个 swift 类中,所以我将它的头文件添加到桥接头文件中。突然间我收到一个错误,找不
我是一名优秀的程序员,十分优秀!