0

私は以下のような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である必要がありますが、それが私の残りの番号が実際に文字列である理由でしょうか?

4

1 に答える 1

2

sortedArrayUsingComparatorこれは、NSArrayのメソッドを使用することで非常に簡単です。
あなたの場合、それは次のようになります:

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

    return [remain1 compare:remain2];
}];
于 2013-03-20T10:56:01.160 に答える