NSArray类的"sortedArrayHint"方法,这个方法的目的是什么,它是如何使用的?

S.J*_*Lim 5 objective-c

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

我阅读了文档,但解释并不清楚.

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

Pey*_*loW 11

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

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

用法很简单:

  1. 使用获取并存储原始排序数组中的提示-[NSArray sortedArrayHint].
  2. 经过一小步改变; 诉诸使用-[NSArray sortedArrayUsingFunction:context:hint:]与存储的提示.
  3. 经过大的改变; 度假村使用-[NSArray sortedArrayUsingFunction:context:],并得到一个新的提示.

什么是小的或大的变化是你必须用仪器测量的东西.

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