Swift 当两个版本具有相同的行为时,为什么这个快速操场显示不同的执行次数?

Swift 当两个版本具有相同的行为时,为什么这个快速操场显示不同的执行次数?,swift,Swift,我用map函数遍历同一个数组,是不一样的,为什么遍历的次数不一样 代码如下: let list = ["1", "2", "3"] let arr = list.map { $0 + $0 } let mArr = list.map { str in return str + str } print(arr) print(mArr) 对map的调用计为一次执行,闭包内语句的每次执行计为一次执行 在第一种情况下,对map的调用与闭包中的语句位于同一行,因此Xcode显示该行上的

我用map函数遍历同一个数组,是不一样的,为什么遍历的次数不一样


代码如下:

let list = ["1", "2", "3"]

let arr = list.map { $0 + $0 }

let mArr = list.map { str in
    return str + str
}

print(arr)
print(mArr)

map
的调用计为一次执行,闭包内语句的每次执行计为一次执行

在第一种情况下,对
map
的调用与闭包中的语句位于同一行,因此Xcode显示该行上的任何内容执行的总次数,即4次:1次执行
map
加上3次执行闭包中的语句


在第二种情况下,对
map
的调用与闭包中的语句位于单独的一行。由于对
map
的调用只执行一次,并且在该行上没有执行任何其他操作,因此Xcode显示
map
返回的内容:列表
[“11”、“22”、“33”]
。闭包内的语句执行3次,因此Xcode显示执行的次数。

map
的调用计为一次执行,闭包内语句的每次执行计为一次执行

在第一种情况下,对
map
的调用与闭包中的语句位于同一行,因此Xcode显示该行上的任何内容执行的总次数,即4次:1次执行
map
加上3次执行闭包中的语句


在第二种情况下,对
map
的调用与闭包中的语句位于单独的一行。由于对
map
的调用只执行一次,并且在该行上没有执行任何其他操作,因此Xcode显示
map
返回的内容:列表
[“11”、“22”、“33”]
。闭包中的语句执行了3次,因此Xcode显示了执行的次数。

代码的图像对我们来说是无用的。有关不应将代码作为图像发布的许多原因的列表,请参见。你的代码需要在这里,作为文本和正确的格式,在问题本身。它不是那么简单。Xcode不能很好地将游乐场的代码和结果列一起捕获为文本。新用户应该受到友善的对待,而不是轻蔑。不知何故,我能够根据“无用”的图像回答这个用户的问题。你代码的图像对我们来说是无用的。有关不应将代码作为图像发布的许多原因的列表,请参见。你的代码需要在这里,作为文本和正确的格式,在问题本身。它不是那么简单。Xcode不能很好地将游乐场的代码和结果列一起捕获为文本。新用户应该受到友善的对待,而不是轻蔑。不知何故,我能够根据“无用”的图像回答这个用户的问题。