【问题标题】:Is it possible to change when the (Project)-Swift.h header is generated?生成 (Project)-Swift.h 标头时是否可以更改?
【发布时间】:2016-05-13 09:33:15
【问题描述】:

我面临以下问题:

我在 Swift 文件中声明了一个协议,我想在 Objective-C 中实现它。 我在我的协议中添加了@objc 注释,因此 Xcode 可以在我的 (Project)-Swift.h 文件中生成一个定义并且它工作正常。

但是,我无法在我的任何 objc 标头中导入 (Project)-Swift.h 文件,因为(我想)它是在处理这些标头之后生成的。这没什么大不了的,因为我可以在我的目标头文件中简单地使用这个解决方法:

@protocol MySwiftProtocolName;

它编译和工作得很好,但它也会对每个实现我的 swift 协议的类发出警告:

Cannot find protocol definition for MySwiftProtocolName

所以我的问题是:是否可以强制 Xcode 在开始处理常规 .h 文件之前生成 (Project)-Swift.h 文件?

谢谢

【问题讨论】:

  • 我认为您需要创建一个使用您的 swift 代码的 swift 文件。我不认为你可以直接使用任何在 swift 中开发的第三方框架,你可以直接在目标 c 中使用。

标签: ios objective-c xcode swift


【解决方案1】:

您应该能够将#import "(Project)-Swift.h" 添加到您执行此快速协议的文件中。有时 Xcode 语法会变得很有趣,并且不会自动完成此标头名称,但在编译时它应该可以工作。

如果不能,请提供更多关于协议是什么样子的上下文,因为它可能无法与 Objective-C 互换,因此根本不会生成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    • 2012-06-28
    • 1970-01-01
    • 2018-08-10
    相关资源
    最近更新 更多