0

NSFetchRequest の結果をソートするために sortDescriptor を使用しています。私はこれをやっています。

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Team"];
    request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"position" ascending:YES]];

位置には次の 4 つの値があります。

  1. 攻撃者
  2. ゴールキーパー
  3. ウィンガー
  4. ディフェンダー

現時点では、すべての位置を分離してグループ化しています。最初にすべてのアタッカー、次にすべてのゴールキーパー、次にすべてのディフェンダー、最後にすべてのウインガーです。私が今達成したいのは、ランクの順序を変更することです。ランクの順序はあるべきです。

  1. まずすべてのゴールキーパー
  2. 2番目にすべてのディフェンダー
  3. 3番目にすべてのウイング
  4. そして最後にすべてのウィンガー

誰も私がそれを行う方法を知っていますか?

前もって感謝します!

4

2 に答える 2

2

これを行う厄介な方法は、各プレイヤー タイプを表す整数列を追加し、代わりにそれでソートすることです。

編集:これは仕事をするので必ずしも「面倒な」方法ではありませんが、私がそれが面倒だと提案した唯一の理由は、プレーヤーの種類を知るために余分なものを追加する必要があるからです. それにもかかわらず、それは合理的な方法です。

于 2012-10-09T18:57:34.937 に答える
0

すべてのオブジェクトを格納するリレーションシップがある場合は、NSSortDescriptors と準備済みブロックを使用して、NSSet から項目をソートするヘルパー メソッドを準備できます。または、すべてのオブジェクトを取得してから並べ替えることができます。

于 2012-10-09T19:04:11.583 に答える