在 swift 中递增和递减步进器

incrementing and decrementing stepper in swift

我正在尝试在按下步进器时将一个元素append/remove添加到数组中。可以使用临时变量和 if 语句来完成此操作,但是是否有更简单的方法来访问步进器是递增还是递减?

您可以在附加到步进器的 @IBAction 中使用 switch 语句,如下所示:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        testStepper.minimumValue = -1.0
        testStepper.maximumValue = 1.0
        testStepper.value = 0
        testStepper.autorepeat = false
    }

    @IBOutlet weak var testStepper: UIStepper!

    @IBAction func testStepperHandler(_ sender: Any) {
        switch testStepper.value {
            case 1.0:
                // add your item here
                print("Item added")
                testStepper.value = 0

            default:
                // remove your item here
                print("Item removed")
                testStepper.value = 0

        }
    }

}

即使没有直接的方法来访问步进器是递增还是递减,我们可以通过限制我们可以在viewDidLoad() :将最小值设置为 -1.0,将 maximumValue 设置为 1.0,初始值为 0。然后,无论 switch 语句采用哪条路径,我们都需要将步进器的值重置为 0。当用户递增步进器时,将返回值 1,并执行第一种情况中的代码。由于只能返回 2 个值(递增 1.0,递减 -1.0),我们可以只使用默认值来处理所有其他情况。

将数组的长度与步进器更改函数中的 sender.value 进行比较