以下是代码:
let list = ["1", "2", "3"]
let arr = list.map { $0 + $0 }
let mArr = list.map { str in
return str + str
}
print(arr)
print(mArr)
答案 0 :(得分:4)
对map
的调用计为一次执行,并且闭包内语句的每次执行都算作一次执行。
在第一种情况下,对map
的调用与闭包中的语句位于同一行,因此Xcode显示该行执行的任何内容的总次数,即4次:1次执行map
加上封闭内部声明的3次执行。
在第二种情况下,对map
的调用与闭包中的语句位于一个单独的行上。由于对map
的调用只执行一次,并且该行没有执行任何其他操作,因此Xcode会显示map
返回的内容:列表["11", "22", "33"]
。闭包内的语句执行3次,因此Xcode显示它执行的次数。