我正在尝试用每个增加 0.1 的数字填充数组,例如:[0.1,0.2,0.3...]
这段代码给了我错误: fatal error :数组索引超出范围
。我缺少什么?我想我声明了一些错误。
我会将其保存到 Double 类型的结构中。
我的代码
import UIKit
class PrecoDomicilioViewController: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource{
@IBOutlet var euros: UIPickerView!
var pickerData:[Double] = []
override func viewDidLoad() {
super.viewDidLoad()
euros.delegate = self
euros.dataSource = self
for var i = 0; i <= 200; i++
{
pickerData[i] += 0.1
}
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerData.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return "\(pickerData[row])"
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
restaurante.portes = pickerData[row]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
}
更新: 终于成功了,但是6到10之间有这个奇怪的数字。
最佳答案
您无法使用下标运算符将项目添加到 Swift 数组,您需要使用追加。
NOTE You can’t use subscript syntax to append a new item to the end of an array.”
摘自:Apple Inc.“Swift 编程语言(Swift 2 预发行版)”。 iBooks。 https://itun.es/us/k5SW7.l
使用append()
,示例:
shoppingList.append("Flour")
pickerData.append(0.1)
关于ios - Swift - fatal error : Array index out of range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32287898/