问题与标题相同。 (NSArray类的“sortedArrayHint”方法,此方法的目的是什么以及如何使用)
我阅读了文档但解释不明确。
请解释此方法的用途及其用法。
答案 0 :(得分:10)
这个想法很简单。假设您有一个应该始终排序的大型数组。更改或插入一个元素意味着你必须求助于数组。排序成本很高。
可以在已经排序的数组上调用方法-[NSArray sortedArrayHint]
,以便获取可用于加速某种相同数组的私有内部数据,只需进行少量更改即可。
用法很简单:
-[NSArray sortedArrayHint]
获取并存储原始排序数组中的提示。-[NSArray sortedArrayUsingFunction:context:hint:]
使用存储的提示。-[NSArray sortedArrayUsingFunction:context:]
求助,并获得新的提示。您必须使用仪器测量什么是小的或大的变化。
我自己从不使用这个,因为我发现在NSArray
和NSMutabelArray
上使用我自己的类别对排序数组使用二进制搜索的排序插入更有效。我的代码在此处以开源形式提供:https://github.com/Jayway/CWFoundation