我刚刚开始在我的ObjC框架项目中添加Swift,因为它非常新,解决方案直接与CloudKit的差距,因此可能有趣的是逐步迁移到Swift代码。
我认为我从简单的协议开始。
我做了以下事情: - 我创建了一个Swift文件,如你所知,框架没有bridghing标头 - 在此文件中添加了我的协议
并知道我喜欢在课堂上使用它但是如何使用它? 类的解决方案很简单,您只需定义一个前向声明。但那是关于协议吗?
在他们看来,这是我必须迁移的最后一个元素,或者你知道一种方法吗?
更新:
我忘了提到,我标记了协议@objc,因为一般来说可以在ObjC中使用Swift协议,但我现在只看到框架中的限制
答案 0 :(得分:1)
以下是我的项目名称SwiftProtocol
中的示例:
<强> Renderable.swift 强>
@objc protocol Renderable
{
@objc func render()
}
<强> Triangle.h 强>
#import "SwiftProtocol-Swift.h" // This is very important!
@interface Triangle : NSObject <Renderable>
@end
<强> Triangle.m 强>
@implementation Triangle
- (void)render
{
// Do some rendering
}
@end