我有一个Swift协议,如下所示:
@objc protocol Linkable {
func presentLink(link: MyLink)
}
我还有一个Objective-C类,它不能很好地使用这个协议:
@protocol Linkable;
@interface MyDetailViewController : MyTableViewController <Linkable>
etc...
据我所知,我已经正确地声明了协议,协议有@objc
符号,我将它放入Objective C类的接口声明中,但我仍然得到了在@interface
开始的行发出警告。
警告说:“无法找到'可链接'的协议定义。”
奇怪的是,它构建并运行,它按预期工作,但为什么警告如果Linkable实际上没有问题?是否有不同的方式来声明协议,或符合它以清除警告?
这只是Xcode的警告之一,但措辞不佳,如果是这样,实际发生了什么?
修改
以下是一个包含相同错误的自包含示例项目:https://github.com/thinkfishhook/Swift-ObjC_Protocol
答案 0 :(得分:0)
#import "ViewController.h"
#import "Protocol_WTF-Swift.h"
@interface ViewController () <MyProtocol>
@end
@implementation ViewController
- (void)doTheThings {
// doing the things
}
@end