IOS中的簡單排序實現

在查看寫的小項目《你好,新同學》中發現了一個關於數組排序的BUG。

之前我是利用@selector(compare:)的方法來進行排序。但這個方法有個問題就是,他是根據首字符來進行排序,比如字符串"10"總是小於字符串"9"的,這不符合我的要求另外寫compare函方法也比較麻煩。於是找了個簡單的解決方法,利用NSComparator。

代碼修改爲:

 

  1.      NSArray *keys=[[dict allKeys] sortArrayByComparator:^NSComparetor(id obj1,id obj2){  
  2.     if([obj1 intValue]>[obj2 intValue])  
  3.                  return NSOrderedDescending;  
  4.     else if([obj1 intValue]<[obj2 intValue])  
  5.                  return NSOrderedAscending;  
  6.     else return NSOrderSame;  
  7. }];  
  8.     NSString *addkey=[keys lastObject]; 

在這裏,obj1與obj2爲[dict allKeys]數組中的兩個項(對於我的程序來說就是兩個字符串)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章