Swift UISegmentedControl 如果改变

Swift UISegmentedControl if change

当 UISegmentedControl 被检查到另一个案例时,我如何创建检查?

示例

我创建了 UISegmentedControl:

var type = 0

 @objc func change(sender: UISegmentedControl) {
    switch sender.selectedSegmentIndex {
      case 0:
        type = 0
      case 1:
        type = 1
      case 2:
        type = 2
      case 3:
        type = 3
      default:
        type = 2
    }

当我需要在更改按钮时检查和更改数据时,我有功能 分段控制

func Example() {

  if type == 0 {
    print("case 0")
  } else if type == 1 {
    print("case 1")
  } else if type == 2 {
    print("case 2")
  } else if type == 3 {
    print("case 3")
  }
}

不要通过调用函数来检查。将type改变后要执行的代码移到action中

@objc func change(sender: UISegmentedControl) {
     switch sender.selectedSegmentIndex {
     case 0:
         type = 0
         print("case 0")
     case 1:
         type = 1
         print("case 1")
     case 3:
         type = 3
         print("case 3")
     default:
         type = 2
         print("case 2")
    }
}

func Example() {
    if type == 0 {
       print("case 0")
    } else if type == 1 {
       print("case 1")
    } else if type == 2 {
       print("case 2")
    } else if type == 3 {
       print("case 3")
    }
}

我建议将您的问题简化为:

@objc func change(sender: UISegmentedControl) {
    print("case \(sender.selectedSegmentIndex)")
    // do whatever you need with sender.selectedSegmentIndex here directly   
}