【发布时间】:2014-07-31 04:33:07
【问题描述】:
我需要定义一个可以在使用某些 Objective-c 类型的类中调用的协议
但是这样做是行不通的:
enum NewsCellActionType: Int {
case Vote = 0
case Comments
case Time
}
@objc protocol NewsCellDelegate {
func newsCellDidSelectButton(cell: NewsCell, actionType: NewsCellActionType)
}
你得到他的错误
Swift enums cannot be represented in Objective-C
如果我没有将@objc 标记放在我的协议上,它会在一个采用协议并从Objective-C 类型类(如UIViewController)继承的类中调用它时立即使应用程序崩溃。
所以我的问题是,我应该如何使用@objc 标签声明和传递我的枚举?
【问题讨论】:
-
看我的回答。我很确定您的问题出在其他地方。