我在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
任何人都可以告诉我为什么会出现此错误以及如何修复它? 谢谢!
答案 0 :(得分:7)
@objc属性使协议与目标C兼容(即可用)。但是,目标C中没有快速枚举(1.2 beta之前)。因此,您不能在该协议中使用swift枚举。
我认为最好的解决方案是使用swift 1.2 - 它仍处于测试阶段(截至今天),但可以将@objc
属性应用于swift枚举。