私はNSDictionnaryの配列を持っており、int値でキーを並べ替えたいと思います(キーの名前は "age"です)。 例:iOS上のsortedArrayWithSelectorとNSDictionnary
Dic1:年齢= 30、性別=男性; Dic2:年齢= 24、性別=男性;
アレイ:Dic1、Dic2;
今すぐ比較する方法を私が持っているリクます:
アレイ:Dic2、Dic1。
私は多くのことを試しましたが、うまくいきません。 I NSSortDescriptorを使用するなどが、それはiOSの4.0 :(
はあなたが解決策を持っていることからのみ利用可能です おかげ
EDIT:?!
私はNSDictionaryのカテゴリの比較方法を書いた:
- (NSComparisonResult)compareGood:(NSDictionary *)otherObject
{
return [[self objectForKey:@"age"] compare:[otherObject objectForKey:@"age"]];
}
しかし、私はこのクラッシュエラーがあります:キャッチされない例外 'NSInvalidArgumentException'のためにアプリケーションを終了します、理由: '* - [NSCFNumber compare:]:nil argument'
sortDescriptorWithKey:昇順:とsortedArrayUsingDescriptorは、iOS 4.0以降にのみ使用可能です。しかし、私は今sortUsingDescriptorsを使っています:and initWithKey:ascending: – Pierre
良い点 - '-initWithKey:ascending:'を使用するようにサンプルを更新しました。 – Caleb