2

トップレベルの Core Data エンティティとしてルートがあります。次に、ルートには場所があります。ロケーションには

@property (nonatomic, retain) NSNumber *index;

ユーザーのルートが正しいことを確認する必要があるため、インデックスが必要です。Locations エンティティでどのように並べ替えるのが最善なのか疑問に思っていました。私のtableViewでは、ルートの名前を表示しています。次に、ユーザーがルートをクリックすると、場所が表示されます。私はNSSetが持っているのを見ました

sortedArrayUsingDescriptors

しかし、NSNumber を sortDescriptor でソートする方法を知りませんでした。私は人々が次のようなコードを使用するのを見てきました

sortedArrayUsingSelector:@selector(compare:) // or something like that

NSSet を反復処理し、インデックスで Location オブジェクトを返す簡単な便利なメソッドを作成できますが、より良い方法があるかどうかはわかりませんでした。前もって感謝します!

4

3 に答える 3

4

これをソート記述子として使用してみてください。

NSSortDescriptor* sort = [NSSortDescriptor sortDescriptorWithKey:@"index" ascending:YES];

これにより、位置オブジェクトが NSNumber* インデックス プロパティの値によって昇順に並べ替えられます。

于 2013-09-15T02:20:10.300 に答える