【发布时间】:2010-10-05 18:36:27
【问题描述】:
我正在重构一个涉及传递大量数组的项目。目前,每个返回数组的方法都会在返回之前对其进行排序。这并不理想,有几个原因 - 有很多重复的代码,对数组进行两到三次排序效率低下,编写新函数太容易但忘记在返回之前对数组进行排序。
我正在寻找一种方法来保证数组始终按字母顺序排列。我目前的想法是继承NSMutableArray 和/或NSArray 来创建一个按字母顺序排列的数组类。我需要覆盖所有创建或修改数组的方法以调用super,然后自行排序。
这听起来合理吗,还是有更好的方法?
编辑: 由于提到了性能问题,我将包括我项目中的相关信息。速度不是一个重要的问题。整个过程只需要几秒钟,而且该工具只是偶尔使用一次。所以简单和明显的正确性更重要。
此外,数组的用例是特定的。当返回一个数组时,调用者总是至少访问数组中的每个元素一次。
【问题讨论】:
标签: objective-c cocoa sorting nsarray subclassing