如何在 Swift 协议可选函数中使用枚举作为参数
How to use Enums as parameters in Swift Protocols optional functions
我在 Swift
中有这个枚举
enum Direction: Int{
case Left2Right = 0, Right2Left
}
和这个协议
@objc protocol CellDelegate : NSObjectProtocol{
optional func has(direction:SwipeDirection) -> Bool
}
我收到这个错误
Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C
谁能告诉我为什么会出现此错误以及如何解决?
谢谢!
@objc 属性使协议与 Objective C 兼容(即可用)。但是 swift 枚举(在 1.2 beta 之前)在 Objective C 中不可用。所以你不能在该协议中使用 swift 枚举。
我认为最好的解决方案是使用 swift 1.2 - 它仍处于测试阶段(截至今天),但可以将 @objc
属性应用于 swift 枚举.
我在 Swift
中有这个枚举enum Direction: Int{
case Left2Right = 0, Right2Left
}
和这个协议
@objc protocol CellDelegate : NSObjectProtocol{
optional func has(direction:SwipeDirection) -> Bool
}
我收到这个错误
Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C
谁能告诉我为什么会出现此错误以及如何解决? 谢谢!
@objc 属性使协议与 Objective C 兼容(即可用)。但是 swift 枚举(在 1.2 beta 之前)在 Objective C 中不可用。所以你不能在该协议中使用 swift 枚举。
我认为最好的解决方案是使用 swift 1.2 - 它仍处于测试阶段(截至今天),但可以将 @objc
属性应用于 swift 枚举.