ios - 如何根据变化的属性在 Swift 中实现 enum 和 switch 语句?

标签 ios swift enums switch-statement

我正在尝试在我的代码中实现一些逻辑,以提供一个“门”以根据应用内购买转到另一个 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
    }
  }
}

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

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

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

关于ios - 如何根据变化的属性在 Swift 中实现 enum 和 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32122606/

相关文章:

iphone - 在 iPhone 的应用程序中访问本地短信数据

swift - 在 CALayer 中添加图像并将其居中

swift - 使用 if 语句访问结构中的枚举值

ios - 单独的类来存储输入

java - 枚举中的可配置值

scala - 如何从 Scala 访问 Java 枚举?

ios - 如何更新嵌入到 UIKit 中的 SwiftUI View ?

iphone - 尝试使用 EventKit 时获取 "Undefined symbols"?

ios - 某些 iOS 约束在 Xcode 8 中不起作用(转换为 Swift 3 后)

swift - 图像未显示在 collectionView Swift 中