我的pod的Swift协议在objective-c项目中不可用

时间:2017-07-13 10:39:20

标签: objective-c swift cocoapods

我创建了一个声明协议(在swift中)的pod

我可以在我的"示例项目中使用此协议" (在swift中),但当我尝试在一个客观的项目中使用它时,它不可用......

我理解我的协议应该是objective-c的桥梁,但它不会出现在MyPod-Swift.h文件中

我的协议是使用public关键字声明的。

对于使用我的协议类型的公共财产(委托)来说,这是同样的事情......

我忘了做点什么?任何的想法 ? :)

public protocol MyDelegate: class {
    func success(transactionId: String, amount: NSDecimalNumber)
    func failure(error: Error?, amount: NSDecimalNumber)
}

解决:应该是

@objc
public protocol MyDelegate {
    func success(transactionId: String, amount: NSDecimalNumber)
    func failure(error: Error?, amount: NSDecimalNumber)
}

1 个答案:

答案 0 :(得分:1)

您是否曾尝试将@objc添加到声明中?

@objc
public protocol RestoFlashDelegate {
  func success(transactionId: String, amount: NSDecimalNumber)
  func failure(error: Error?, amount: NSDecimalNumber)
}