繁体   English   中英

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

[英]“sortedArrayHint” method of NSArray class, what is the purpose of this method and how is it used?

问题与标题相同。 (NSArray class的“sortedArrayHint”方法,这个方法的目的是什么,怎么用)

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

请说明此方法的目的及其用法。

这个想法很简单。 假设您有一个应该始终排序的大数组。 甚至更改或插入一个元素都意味着您必须使用数组。 分拣成本很高。

可以在已经排序的数组上调用-[NSArray sortedArrayHint]方法,以获取私有内部数据,如果只进行了很小的更改,这些数据可用于加速同一数组的排序。

用法很简单:

  1. 使用-[NSArray sortedArrayHint]从原始排序数组中获取并存储提示。
  2. 稍作改动后; 使用-[NSArray sortedArrayUsingFunction:context:hint:]和存储的提示。
  3. 经过大的改变; 使用-[NSArray sortedArrayUsingFunction:context:] ,并获得新的提示。

什么是小的或大的变化是你必须用 Instruments 来衡量的。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM