NSArray类的“sortedArrayHint”方法,这个方法的目的是什么以及它是如何使用的?

时间:2011-08-11 08:58:56

标签: objective-c

问题与标题相同。 (NSArray类的“sortedArrayHint”方法,此方法的目的是什么以及如何使用)

我阅读了文档但解释不明确。

请解释此方法的用途及其用法。

1 个答案:

答案 0 :(得分:10)

这个想法很简单。假设您有一个应该始终排序的大型数组。更改或插入一个元素意味着你必须求助于数组。排序成本很高。

可以在已经排序的数组上调用方法-[NSArray sortedArrayHint],以便获取可用于加速某种相同数组的私有内部数据,只需进行少量更改即可。

用法很简单:

  1. 使用-[NSArray sortedArrayHint]获取并存储原始排序数组中的提示。
  2. 稍作改动后;使用-[NSArray sortedArrayUsingFunction:context:hint:]使用存储的提示。
  3. 经过大的改变;使用-[NSArray sortedArrayUsingFunction:context:]求助,并获得新的提示。
  4. 您必须使用仪器测量什么是小的或大的变化。

    我自己从不使用这个,因为我发现在NSArrayNSMutabelArray上使用我自己的类别对排序数组使用二进制搜索的排序插入更有效。我的代码在此处以开源形式提供:https://github.com/Jayway/CWFoundation