【发布时间】:2014-06-06 09:15:58
【问题描述】:
我尝试将一个名为 AnalyticProtocol 的 Swift 协议导入到一个名为 AnalyticFactory 的 Objective-C 类中。
protocol AnalyticProtocol
{
}
我从现有的 Objective-C 项目开始(我没有使用 xCode 创建新的 Swift 项目,也没有找到如何在 xCode 6 中将我的 Objective-C 项目配置为 Swift 项目)。
在我的 Swift 文件中,我包含了名为 MyProjectName-Swift.h 的 .h 文件,但编译器返回一个错误,告诉我 它不存在。
所以,我创建了一个名为MyProjectName-Swift.h 的.h 文件,它实际上是空的(我不知道我应该在里面放什么)。
在Apple documentation 中,他们说我必须将名为MyProjectName-Swift.h 的.h 文件包含在我的.m 文件中。但我需要将它包含在我的.mfile 中,而不是包含在我的.h 中。这会不会有问题?
当我尝试编译时出现以下错误::0: error: xxxAnalyticFactory.h:39: cannot find protocol declaration for 'AnalyticProtocol'
还有涉案代码:
@interface AnalyticFactory : NSObject
{
Class<AnalyticProtocol> _analyticProtocolClass; // The type of the analytic class currently used.
}
我想我不太明白如何将 Swift 协议导入到 Objective-C 类中。
有没有人发现我正在做的事情有错误?
【问题讨论】:
-
观看来自 WWDC 2014 的 Integrating Swift With Objective-C 视频。视频大约 30:40 开始,他们描述了如何在 Objective-C 类中访问 Swift 协议。
标签: objective-c swift