[IOS] 如何快速的將數組每個元素設置成0?

常規做法當然是遍歷。

var arr = [1, 2, 3, ...]
for i in arr.indices {
    arr[i] = 0
}

常規做法沒有問題,但是有時候太慢了,我們需要更快的方法。幸運的是,IOS 提供了 vDSP 框架。

可以在裏面找到 Vector Clear and Fill Functions 好傢伙,這不就是我們所需要的嗎?

func vDSP_vfilli(UnsafePointer<Int32>, UnsafeMutablePointer<Int32>, vDSP_Stride, vDSP_Length)
// Populates an integer vector with a specified scalar value.

具體是這樣:

var arr: [Int32] = [1, 2, 3, ...]
var fill: Int32 = 0 // 待填充的數,其他的也行
vDSP_vfilli(&fill, &arr, vDSP_Stride(1), vDSP_Length(arr.count))

如果以上內容對你有所幫助,請在這些平臺上關注我吧.
謝謝。o( ̄▽ ̄)d

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章