没有更多上下文(枚举)的表达类型是不明确的

时间:2016-12-02 10:33:13

标签: ios swift enums swift3

enum的一个小问题。

public enum LHActivityTypeID: String {
    case Run = "16"
    case Bike = "41"
}

尝试在其他文件中使用它(是的,我的枚举是全局的):

if (activity.activity_type?.id  == .Bike ) {
    self?.allItems.append(activity)
}
  

错误>没有更多上下文的表达类型是不明确的

我知道compiler需要有关枚举的更多信息,但我无法找到如何做到这一点,我已经尝试过很多东西并阅读其他帖子。感谢您的帮助

2 个答案:

答案 0 :(得分:3)

请检查以下内容。

if activity.activity_type?.id  == LHActivityTypeID.Bike.rawValue {
  self?.allItems.append(activity)
}

答案 1 :(得分:1)

由于id是一个字符串,您需要比较枚举的rawValue

if activity.activity_type?.id  == LHActivityTypeID.Bike.rawValue {
    self?.allItems.append(activity)
}

PS:你不需要在Swift的if条件下使用括号。