2012-01-27 99 views
1

我有一个NSMutableArray模型对象。每个模型对象包含NSArrayNSNumbers。我想根据它们各自的数组数组中的最低值NSNumber对模型对象进行排序。如何使用sortUsingFunction(或sortUsingSelector)对包含数组的对象的NSMutableArray进行排序

什么是使用sortUsingFunction(或sortUsingSelector)实现此目的的最佳方法?我仍然支持iOS 3.2,所以我不能使用块。

目前,我标记每个模型对象与最低NSNumber值,然后使用标签上密钥的NSSortDescriptor ...但我敢肯定有一个更好的办法...

回答

2

我不知道这是做它最干净,最有效的方式,但你可以写一个方法,模型类- (NSComparisonResult)compare:(MyModel *)otherModel,你会:

  1. 排序的NSNumbers同时为selfotherModel对象使用NSArraysortedArrayUsingSelector:@selector(compare:)
  2. 获取NSNumber对象索引0两者在步骤1中创建的两个已排序的阵列(其将是每个阵列中的最低值)的[lowestSelfNumber compare:lowestOtherNumber]

然后可以

  • 返回结果的排序可变阵列sortUsingSelector:@selector(compare:)

  • +0

    谢谢,我喜欢这个解决方案比我的标记方法更多。 – user2393462435 2012-01-30 00:57:32

    相关问题