像pro一样向数组添加元素

发布于:2021-02-16 00:00:12

0

154

0

博客 开发 iOS pro 数组

众所周知,通过plus运算符合并数组会导致编译过程花费更长的时间。但是执行时间呢?正如所料,获胜者只能是一个。

附加元素比合并数组快上百倍!这是真的!

我从附加一个元素并将基本数组与单个元素数组合并开始。结果是可比较的,但随后决定检查五个元素的数组。加号运算符看起来很酷,但是太小了。

假设repeatCount等于10000。在大多数情况下,这种性能损失可能几乎是不明显的。但它仍然是最恼人的Swift问题之一,有时甚至会导致非常流行的编译器错误,即表达式太复杂,无法在合理的时间内解决。

另一方面,当您将两个数组合并到一个新数组中时,plus操作符非常有效。

let array1 = Array(stride(from: 1, to: 101, by: 1))
let array2 = Array(stride(from: 101, to: 201, by: 1))
 
_ = self.array1 + self.array2
 
// is just as fast as this
var newArray = Array(self.array1)
self.array2.forEach { element in
    newArray.append(element)
}

PS:测试环境是Xcode 8.0(8A218a),iOS 10模拟器和Swift 3。