2012-01-27 90 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

    相關問題