应用程序根据用户在UIPickerView上输入的当前里程表值来跟踪给定汽车的行驶距离。我已经能够构造它,它具有6个组件,行值的范围是0到9。如图所示:
我希望它能够在PickerView出现时将上次跟踪的距离显示为所选的默认行。最后跟踪的距离存储在Int类型的var(lastDistance)中。
基于Int的自定义扩展名,我能够遍历距离上的每个数字。 (lastDistance.digits:[Int])。还循环遍历每个组件。但是不知道为lastDistance中的数字选择正确的分量的正确方法。
components数组始终为:components = [0,1,2,3,4,5]
例如,如果值是4400英里。数字数组为[4,4,0,0],此距离的正确选择应为:
pickerView.selectRow(lastDistance.digits[0], inComponent: components[2], animated: false)
pickerView.selectRow(lastDistance.digits[1], inComponent: components[3], animated: false)
pickerView.selectRow(lastDistance.digits[2], inComponent: components[4], animated: false)
pickerView.selectRow(lastDistance.digits[3], inComponent: components[5], animated: false)
问题是,当距离从2到6位数变化时,所选组件应更改。