Swift UISegmentedControl, если изменить - PullRequest
0 голосов
/ 26 августа 2018

Как я могу создать проверку все время, когда 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
    }

И у меня есть функция, когда мне нужно проверить и изменить данные, когда кнопка изменения в SegmentedControl

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")
  }
}

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Я бы предложил упростить вашу проблему до этого:

@objc func change(sender: UISegmentedControl) {
    print("case \(sender.selectedSegmentIndex)")
    // do whatever you need with sender.selectedSegmentIndex here directly   
}
0 голосов
/ 26 августа 2018

Не проверять, вызывая функцию.Переместите код, который будет выполнен после изменения типа, в действие

@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")
    }
}

...