我有一个枚举的计算属性。

  var hasResults: Bool {
     if case .hasResults(_) = self {
        return true
     }
     return false
  }


我想使其快速且内联。我想做这样的事情:

  var hasResults: Bool {
     return case .hasResults(_) = self
  }


,,编译器不允许这样做。

是否有快速的内联方式来编写相同的语句?

最佳答案

是否有快速的内联方式来编写相同的语句?


不,那里没有。

您只能那样做。

    var hasResults: Bool {
        switch self {
        case .hasResult: return true
        default: return false
        }
    }


仅当您的枚举类型没有AssociatedValue时才可以使用var hasResults: Bool { return self == .noResult }

10-05 20:04