【发布时间】:2017-09-03 13:02:06
【问题描述】:
我正在尝试使用 swift 中的协议扩展 ObjC 类以进行依赖注入,该类不归我所有,因此我无法进行更改。对于其中一种方法,它的工作但对于其他 Xcode 总是说该类没有确认协议并建议我将该方法添加到扩展中
下面是 ObjC 头文件中的声明
- (BOOL) subscribeToTopic:(NSString *)topic
QoS:(AWSIoTMQTTQoS)qos
extendedCallback:(AWSIoTMQTTExtendedNewMessageBlock)callback;
这是协议及其扩展
protocol PopAWSIoTDataManagerProtocol {
func publishString(_ data:String, onTopic:String, QoS:AWSIoTMQTTQoS) -> Bool
func subscribeToTopic(_ topic: String, qoS: AWSIoTMQTTQoS, extendedCallback: (NSObject, String, Data) -> Void) -> Bool
}
extension AWSIoTDataManager : PopAWSIoTDataManagerProtocol {
}
注意下面的错误提示我将完全相同的功能添加到我已经添加到主协议的扩展中
不知道出了什么问题,因为我可以添加另一个方法就好了。
【问题讨论】:
-
如果我保持 publishString 方法一切正常
标签: ios objective-c swift xcode protocols