我有一个使用swift协议作为参数类型的objective-c方法。签名看起来像+ (void) my_ObjC_method: (id<my_Swift_protocol>) parameter_name;
我通常知道如何使客观C可以访问快速协议。 我这样实现了它:
@objC protocol my_Swift_protocol : class {
//...methods go here
}
我的问题是我希望公开my_ObjC_method
。这通常只需将其添加到@interface
部分的头文件中即可。遗憾的是,这需要将桥接头导入.h文件,以便.h文件知道我的swift协议并将其识别为有效类型。但是您无法将自动生成的桥接头导入其他头文件。
解决或解决这个问题的好方法是什么?
答案 0 :(得分:2)
也许你可以使用@protocol
指令作为前瞻声明。
MyClass.h:
#import <Foundation/Foundation.h>
@protocol my_Swift_protocol;
@interface MyClass : NSObject
+ (void) my_ObjC_method: (id<my_Swift_protocol>) parameter_name;
@end