繁体   English   中英

如何在ObjC框架中使用Swift协议

[英]How to use a Swift protocol in ObjC Framework

我刚开始在我的ObjC框架项目中添加Swift,因为它很新,直接解决了与CloudKit的差距,因此可能有趣的是逐步迁移到Swift代码。

我认为我从简单的协议开始。

我做了以下内容: - 我创建了一个Swift文件,如你所知,框架没有bridghing标头 - 在这个文件中添加了我的协议

并知道我喜欢在课堂上使用它但是如何? 类的解决方案很简单,您只需定义一个前向声明。 但那是关于协议吗?

在他们看来,这是我必须迁移的最后一个元素,或者你知道一种方法吗?

更新:

我忘了提到的,我标记了协议@objc,因为一般来说可以在ObjC中使用Swift协议,但我只是看到框架中的限制

这是我的项目名称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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM