gpt4 book ai didi

objective-c - 每次调用 NSMutableArray 的计数方法时,NSMutableArray 是否真的对项目进行计数?

转载 作者:太空狗 更新时间:2023-10-30 03:57:51 26 4
gpt4 key购买 nike

由于cocoa设计模式的原因,NSMutableArray中的实例方法count的名字是有歧义的;它可以返回一个保存的变量 count,或者它可以在每次调用时计算数组中的项目,然后返回(cocoa 规定一个方法只返回变量 的值foofoo,而不是 getFoo)。 Objective C 的 NSMutableArray 是在每次调用其 count 方法时实际计算项目数,还是返回预先计算的变量的值?如果这是 Java,我会查看源代码,但我找不到 NSMutableArray 的源代码。我查看了 API,它所说的是这样的:

Returns the number of objects currently in the array.

由于没有上下文,我无法判断这是否意味着它在其中进行了任何计算。

最佳答案

正如您正确指出的那样,不能保证它会以一种方式或另一种方式运行。

但实际上,-[NSArray count] 是一个常量时间操作。您可以通过创建一个小数组和一个大数组并对获取它们的计数所需的时间进行基准测试来自己确认这一点。在像这样的核心数组类上使用 O(n) count 方法会很愚蠢。

关于objective-c - 每次调用 NSMutableArray 的计数方法时,NSMutableArray 是否真的对项目进行计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637259/

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