並べ替えの問題に直面しています。このシナリオは次のように説明されています:私はクラスを持っていると仮定し、それは4つの属性(firstName、lastName、Address、salary)を持っていると仮定しています。オブジェクトを作成していて、そうです。したがって、配列の各インデックスには、1つのオブジェクト(つまり、4つの属性のコレクション)があります。今私は給与に基づいてその配列を並べ替えることができますこの問題に関して誰でも助けてくれてありがたいです、ありがとうございます。、カスタムクラスオブジェクトの配列の並べ替え
答えて
NSArrayのドキュメントを参照してください。それはいくつかのソート方法を持っています。単語「sort」を検索すると、「em」が見つかります。 (ブロックベースAPIまたは関数ベースAPIが必要です)。
使用この
NSSortDescriptor *sorter = [[[NSSortDescriptor alloc] initWithKey:@"salary" ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject: sorter];
[yorArrary sortUsingDescriptors:sortDescriptors];
@Ishu、Maulik: 私はそのように実装していますが、私のプログラムが例外を私に与えて "スレッド1:プログラムは、信号受信:SIGABRTを" と NSSortDescriptor *ソーター= [[[NSSortDescriptorのalloc] initWithKey墜落している:給与 "@を"昇順:はい" autorelease]; NSArray * sortDescriptors = [NSArray arrayWithObject:ソーター]; [appDelegate.ContactArray sortUsingDescriptors:sortDescriptors]; この動作についての任意のアイデア?? –
あなたが持っている例外を示すログメッセージを与えます。 – Ishu
実際にはIshuは正確に何が原因でエラーが発生したのか正確に知ることができません。この行に到達するとすぐに [appDelegate.ContactArray sortUsingDescriptors:sortDescriptors]; プログラムがクラッシュし、このログメッセージを受信しました。「NSException」のインスタンスをスローした後に終了しました。 –
あなたがオブジェクトのための比較・メソッドを実装する次のいずれか
- (NSComparisonResult)compare:(Person *)otherObject {
return [self.birthDate compare:otherObject.birthDate];
}
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];
または通常よりよい:(NSSortDescriptorのセレクタをデフォルトのソートが:)
を比較していますNSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];
- 1. トリム並べ替え配列
- 2. アルファベット順の配列の並べ替え
- 3. アルファベット順の配列の並べ替え
- 4. 2D Javascriptの配列の並べ替え
- 5. ポインタの配列の並べ替え
- 6. Ruby配列の並べ替え
- 7. PHPの配列で並べ替える
- 8. 多次元配列の並べ替え
- 9. オブジェクトの配列を並べ替える
- 10. style.display after配列の並べ替え
- 11. 配列の並べ替え方法
- 12. mysql_fetch_arrayの配列に並べ替え
- 13. NSManagedオブジェクト配列の並べ替え
- 14. F#タプルの配列を並べ替え
- 15. numpyの配列に並べ替える
- 16. 複数配列の並べ替え
- 17. NSIndexPathsの配列を並べ替える
- 18. 並べ替えの方法配列インデックスで並べ替えられたリスト
- 19. Javaでの並列配列の並べ替え
- 20. 配列を並べ替える
- 21. 配列なしで並べ替える
- 22. 配列をソートで並べ替え
- 23. jqGrid列の並べ替え
- 24. 配列の複素数配列を値で並べ替え
- 25. 整数配列の配列を素早く並べ替える
- 26. 並べ替えで並べ替え
- 27. PHP並べ替え文字列値の範囲の配列を数字で並べ替え
- 28. 指定された並べ替えオプションを使用して2つ以上の "列"(キー)に複数の配列の並べ替えを並べ替え
- 29. 文字列配列のカスタム並べ替えのパフォーマンスを向上
- 30. 列に基づいた2D整数配列の並べ替え
タイトルが混乱している、私はこれがクラスの配列に関するものだと思った。 –