中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

像pro一樣向數(shù)組添加元素

發(fā)布于:2021-02-16 00:00:12

0

224

0

博客 開發(fā) iOS pro 數(shù)組

眾所周知,通過plus運(yùn)算符合并數(shù)組會(huì)導(dǎo)致編譯過程花費(fèi)更長的時(shí)間。但是執(zhí)行時(shí)間呢?正如所料,獲勝者只能是一個(gè)。

附加元素比合并數(shù)組快上百倍!這是真的!

我從附加一個(gè)元素并將基本數(shù)組與單個(gè)元素?cái)?shù)組合并開始。結(jié)果是可比較的,但隨后決定檢查五個(gè)元素的數(shù)組。加號(hào)運(yùn)算符看起來很酷,但是太小了。

假設(shè)repeatCount等于10000。在大多數(shù)情況下,這種性能損失可能幾乎是不明顯的。但它仍然是最惱人的Swift問題之一,有時(shí)甚至?xí)?dǎo)致非常流行的編譯器錯(cuò)誤,即表達(dá)式太復(fù)雜,無法在合理的時(shí)間內(nèi)解決。

另一方面,當(dāng)您將兩個(gè)數(shù)組合并到一個(gè)新數(shù)組中時(shí),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:測試環(huán)境是Xcode 8.0(8A218a),iOS 10模擬器和Swift 3。