[IOS] 如何快速的将数组每个元素设置成0?

Posted krosshj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

以上是关于[IOS] 如何快速的将数组每个元素设置成0?的主要内容,如果未能解决你的问题,请参考以下文章

如何快速的将下载的一组 mipmap 图片转化成 drawable

如何快速的将下载的一组 mipmap 图片转化成 drawable

C语言 如何将一个二维数组的值全部替换成另一个二维数组

组合框架:如何在继续之前异步处理数组的每个元素

如何快速设置数组开始和结束索引?

C语言中,如何将一个数组中的数值转换成字符串输出?