1

NSMutableArray の並べ替えについては、すでに多くの質問が寄せられていますが、まだ私の問題の正確な解決策を見つけることができません。フォローアップしてください:

次のようなarrMasterArrayがあります。

    //This is an array of dictionaries with each element having dictionary at its index and key-value for the same.
    <__NSArrayM 0x8bbaca0>(
    {
        "Brand_Description" = Accolate;
        "Medication_DateStart" = "5/5/2012 12:00:00 AM";
    },{
        "Brand_Description" =Trisenox;
        "Medication_DateStart" = "5/5/2012 12:00:00 AM";
    }, {
        "Brand_Description" = Ultiva;
        "Medication_DateStart" = "5/5/2012 12:00:00 AM";
    } ,{
        "Brand_Description" = Accretropin;
        "Medication_DateStart" = "5/5/2012 12:00:00 AM";
    } 

arrMasterArrayに並べ替えを適用すると、並べ替えられた配列が返されますが、その特定の keyPath の要素のみが含まれます。

NSArray *arrNameCompare= [[arrMasterArray valueForKeyPath:@"Brand_Description"] sortedArrayUsingSelector:@selector(compare:)]; 

これは次のようなものを出力します:

<__NSArrayI 0x10e0efb0>(
Accolate,
Accretropin,
Trisenox,
Ultiva
)

ここで、 arrMasterArrayを に従ってソートする必要があり**arrNameCompare**ます。

私はたくさん検索しましたが、運がありませんでした。ご辛抱いただきありがとうございます。私の英語で申し訳ありません。再度、感謝します。

4

2 に答える 2

2

私はあなたがこのスレッドを読むことができると思います。それはあなたを助けます

sortedArrayUsingDescriptorsを使用してNSMutableArrayをソートする方法は?

この1つについても

カスタムオブジェクトを含むNSMutableArrayを並べ替える方法は?

于 2012-05-08T14:22:10.643 に答える
1

あなたが探しているのは NSMutableArray メソッド、sortUsingDescriptors: だと思います。このメソッドは、sortedArrayUsingSelector: のような新しい配列を作成するのではなく、(変更可能な) 配列を「その場で」並べ替えます。したがって、あなたが何をしようとしているのか理解できれば、これらの行は Brand_Description の値に従って arrMasterArray をソートします。

 NSSortDescriptor *sorter = [NSSortDescriptor sortDescriptorWithKey:@"Brand_Description" ascending:YES];
 [arrMasterArray sortUsingDescriptors:[NSArray arrayWithObject:sorter]];
于 2012-05-08T15:11:15.657 に答える