2013-03-20 29 views
0

的我有NSDictionary中的陣列像下面如何排序的NSDictionary

array(
     { 
     Birthdate = "03/20"; 
     Names = "Abhinavswati Chaudhary"; 
     remain = 0; 
    }, 
     { 
     Birthdate = "09/22/1986"; 
     Names = "Aisa Soni"; 
     remain = 186; 
    }, 
     { 
     Birthdate = "03/02/1990"; 
     Names = "Anuj Parekh"; 
     remain = 347; 
    }, 
     { 
     Birthdate = "05/22/1988"; 
     Names = "Ajay Desai"; 
     remain = 63; 
    } 
) 

我怎樣才能與按照升序此數組進行排序,以保持 例如陣列應該像

array(
     { 
     birthdate=... 
     name =abhivan 
     remanin =0; 
    }, 
     { 
     brithdate = "05/22/1988"; 
     name =ajay 
     remain =63 
    }, 
     { 
     and so on.... 

PLZ建議一些代碼提前謝謝

當我們使用NSsortDiscripor然後仍然需要是NSNumber,它可以是我的剩餘數字是實際的原因盟友的字符串?

+0

你得到的答案? – Balu 2013-03-20 10:53:45

+0

陽光明媚的我的兄弟讓我試試:) – user2189388 2013-03-20 11:03:21

+0

數組順序得到改變,但沒有在其升序其隨機變化 – user2189388 2013-03-20 11:14:11

回答

2

這很簡單,通過使用NSArray的sortedArrayUsingComparator方法。
你的情況應該是這樣的:

yourArray = [yourArray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *obj1, NSDictionary *obj2) { 
    // get values 
    NSNumber *remain1 = obj1[@"remain"]; 
    NSNumber *remain2 = obj2[@"remain"]; 

    return [remain1 compare:remain2]; 
}]; 
+0

我的數組包含Dic,所以它會改變所有組合元素的DIC或它會改變只剩下? – user2189388 2013-03-20 11:06:23

+0

它會改變字跡,按「剩餘」 – yinkou 2013-03-20 12:18:15