在Swift 2.0中,以下代码有效:
import UIKit
var arr = [5, 77, 34, -22]
for (index, value) in enumerate(arr) {
// arr[index] = value + 1 This works, but the line below is more relevant for the following code.
arr[index] = arr[index] + 1
}
println(arr)
给予:
[6, 78, 35, -21]
我在Swift 3.0中尝试使用以下代码:
import UIKit
var arr = [5, 77, 34, -22]
var y = arr.count
for x in 0...y {
arr[x] = arr[x] + 1
}
print(arr)
但是,我在for循环中的唯一一行说“错误:执行被中断,原因:EXC_BAD_INSTRUCTION”时出错。关于出了什么问题的想法或者我可以使用什么语法来获得第一个程序中的(索引,值)对?
答案 0 :(得分:1)
只需删除let
,因为您没有声明任何新变量。
更好的是,只需使用map
:
let numbers = [5, 77, 34, -22]
let incremented = numbers.map{ $0 + 1 }