gpt4 book ai didi

ios - 尽可能快地遍历数组的最佳方法?

转载 作者:行者123 更新时间:2023-11-28 06:47:13 25 4
gpt4 key购买 nike

现在,我的应用程序检索大约 1000 个 CKRecords,并将其放入一个数组中。稍后我需要遍历这个数组。当我只有大约 100 条记录循环通过我的应用程序时,它运行平稳且快速,但现在随着记录数量的增加它变得越来越慢。我计划检索大约 3000 个 CKRecords,所以这对我来说可能是个严重的问题。

这是我现在想出的:

//movies == The NSMutableArray
if let recordMovies = movies.objectEnumerator().allObjects as? [CKRecord] {
for movie in recordMovies {
//Looping
print(movie.objectForKey("Title") as? String)
{
}

但这并没有多大帮助,因为我必须将 NSMutableArray 转换为 CKRecords 数组。我这样做是因为我必须在循环时访问 CKRecords 属性,例如 movieTitle。我可以采取什么措施来加快循环过程

最佳答案

遍历数组的 1000(或 5000)个元素应该只需要几分之一秒。

然而,打印到调试控制台的速度非常慢。去掉你的 print 语句。

如果 movies 是一个 CKRecord 对象数组,为什么不能将它转换为所需的数组类型?

let start = NSDate.timeIntervalSinceReferenceDate()
if let recordMovies = movies as? [CKRecord] {
for movie in recordMovies {
//Do whatever work you need to do on each object, but DON'T use print
{
}
let elapsed = NSDate.timeIntervalSinceReferenceDate() - start
print( "iterating through the loop took \(elapsed) seconds")

关于ios - 尽可能快地遍历数组的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35975211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com