iphone – 使用NSMutableArray vs NSArray的缺点?

iphone – 使用NSMutableArray vs NSArray的缺点?,第1张

概述我使用数组来存储从我的iPhone应用程序中的数据库加载的缓存对象,并且想知道:使用NSMutableArray有什么重大缺点,我应该知道吗? 编辑:我知道NSMutableArray可以修改,但我正在寻找特定的原因(性能,等..)为什么会使用NSArray代替。我认为会有性能差异,但我不知道它是否重要。 如果从数据库加载对象,并且确切知道有多少对象,则可能会从NSMutableArrays ar 我使用数组来存储从我的iPhone应用程序中的数据库加载的缓存对象,并且想知道:使用NSMutableArray有什么重大缺点,我应该知道吗?

编辑:我知道NSMutableArray可以修改,但我正在寻找特定的原因(性能,等..)为什么会使用NSArray代替。我认为会有性能差异,但我不知道它是否重要。

解决方法 如果从数据库加载对象,并且确切知道有多少对象,则可能会从NSMutableArrays arrayWithCapacity:方法中获得最佳性能,并向其添加对象,直到完全,因此如果它一次分配所有内存,能够。

在幕后,他们秘密地是同样的事情 – NSArray和NSMutableArray都是通过toll自由桥接(CFMutableArrayRef和CFArrayRef是同一个事情的typedef,__CFArray *)实现CFArrays *

NSArray和NSMutableArray应该具有相同的性能/复杂性(访问时间在最坏的情况下是O(lg N),最好是O(1)),唯一的区别是两个对象使用多少内存 – NSArray有固定的限制,而NSMutableArray可以使用尽可能多的空间,因为你有空闲。

CFArray.h的意见有更多的细节。

*:正如Catfish_Man指出的,这不是真的了。

总结

以上是内存溢出为你收集整理的iphone – 使用NSMutableArray vs NSArray的缺点?全部内容,希望文章能够帮你解决iphone – 使用NSMutableArray vs NSArray的缺点?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1044434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存