gpt4 book ai didi

objective-c - 在 CoreData 中,我们是否应该始终将 NSSet 转换为 NSArray 进行迭代?

转载 作者:行者123 更新时间:2023-11-28 22:44:02 25 4
gpt4 key购买 nike

所以在我的核心数据关系中,我有一个对象与通过 NSSet 映射的其他对象有关系。当我得到我的主要对象时,我将想要遍历 NSSet。只是迭代,没什么特别的。

现在,根据这篇文章,NSArray 比 NSSet 快得多。 http://www.cocoawithlove.com/2008/08/nsarray-or-nsset-nsdictionary-or.html

我的 NSSet 永远不会那么大,所以我认为在这种情况下它并不重要。但是,我只是想知道一般情况下,将 NSSet 转换为 NSArray 以进行迭代的开销总体上是否仍然更快?

谢谢!

最佳答案

将 NSSet 转换为 NSArray 将需要对集合进行迭代,并为数组分配内存,因此除非您要重复迭代,否则仅对集合进行迭代会更快。

但在任何一种情况下,即使有相当大的集合,我们也可能在谈论纳秒。除非您分析了实际的性能问题并且数据告诉您这是一个问题,否则我真的不会担心它。

此外,您链接的性能数据仅适用于您自己创建的集合。当您从框架中取回一个集合时,它可以(在核心数据的情况下,将)返回一个具有自定义实现的集合,该自定义实现具有自己的性能特征。

关于objective-c - 在 CoreData 中,我们是否应该始终将 NSSet 转换为 NSArray 进行迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707903/

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