Создайте свойство вашего ViewController
с именем number
для отслеживания текущего number
.Увеличьте его в @IBAction
и установите его обратно в 1
, когда оно достигнет 27
:
class ViewController : UIViewController {
@IBOutlet var imageView: UIImageView!
var number = 1
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named: "card1")
}
@IBAction func buttonPressed(_ sender: UIButton) {
// use % (mod function) to keep result in the range 1...26
number = number % 26 + 1
imageView.image = UIImage(named: "card\(number)")
}
}
В качестве альтернативы, вы можете просто увеличить шаг действия кнопки number
и использоватьНаблюдатель свойства на number
для обновления image
:
class ViewController : UIViewController {
@IBOutlet var imageView: UIImageView!
var number = 1 {
didSet {
if number == 27 {
number = 1
}
imageView.image = UIImage(named: "card\(number)")
}
}
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named: "card1")
}
@IBAction func buttonPressed(_ sender: UIButton) {
number = number + 1
}
}