如何根据更改的属性在 Swift 中实现枚举和 switch 语句?

How to implement an enum and switch statement in Swift based on properties that change?

我正在尝试在我的代码中实现一些逻辑,以提供 "gate" 以根据应用内购买转到另一个 VC。

当用户点击添加按钮时,我想要 3 种可能的结果:

(1) 如果用户购买了 IAP,segue, (2) 如果用户没有购买但 var x < 1(即他们之前没有添加),segue 这样他们就可以添加一次 属性 (3) 如果用户没有购买但是var x >= 1,不继续显示alert view

下面是我认为应该如何在 Swift 中设置它,但是我不确定如何将我想要的值添加到我的枚举中? Swift 什么最有效?

enum Access {

    case Purchased  //a bool true or false
    case AddOne  // not purchased but people < 1
    case Locked //not purchased and people >= 1

}

switch Access {

    case .Purchased: // segue
    case .AddOne: // segue
    case .Locked: // alertView

}

根据您的描述,可能不需要 enum

class MyViewController : UIViewController {
  var purchased = false
  var people = 0

  @IBAction func handleButton (UIButton button) {
    if purchased {
      // segue
    }
    else if people < 1 {
      // segue
    }
    else {
      // alertView
    }
  }
}

或者,如果您已经从(购买的人)映射到枚举,则使用 enum

class MyViewController : UIViewController {
  var access : Access = .Purchased

  @IBAction func handleButton (UIButton button) {
    switch access {
    case .Purchased:
      // segue
    case .AddOne:
      // segue
    case .Locked:
      // alert
    }
  }
}