配列の各プレーヤーの最大スコアを取得しようとしている辞書の配列があります。各プレイヤーは複数のエントリを持つことができます。各プレイヤーのベストスコアの辞書の配列を取得しようとしています。辞書の配列内の各オブジェクトの最大値
にNSArray [0] - NSDictionaryの
- [0] Score: (double)20.7
- [1] NameID: (int) 1
- [2] Date
[1] - NSDictionaryの
- [0] Score: (double)25
- [1] NameID: (int) 1
- [2] Date
[2] - NSDictionaryの
- [0] Score: (double)28
- [1] NameID: (int) 2
- [2] Date
[3] - NSDictionary`
- [0] Score: (double)26
- [1] NameID: (int) 3
- [2] Date
私はNSPredicate predicateWithFormatを使用しようとしましたが、名前に関連していない配列内のすべてに対してmaxを返すことしかできません。
期待出力:
NSArrayの[1] - NSDictionaryの
- [0] Score: (double)25
- [1] NameID: (int) 1
- [2] Date
[2] - NSDictionaryの
- [0] Score: (double)28
- [1] NameID: (int) 2
- [2] Date
[3] - NSDictionary`
- [0] Score: (double)26
- [1] NameID: (int) 3
- [2] Date
ありがとうございます。
あなたNSPredicateで名前IDを入れてみましたか?どのようにNSPredicateを設定していますか? –
私はどのように述語にNameIDを追加し、最大得点を評価するかわかりません...私はサブクエリを含むさまざまな方法を試しましたが、何かが欠けています...私はこれを試しましたが、後でそれは完全に間違っていた。 .. NSPredicate * predicate1 = [NSPredicate predicateWithFormat:@ "SELF.Score = NameID。@ max.Score"]; – Shorty07
それを考え直してはいけません。辞書の配列を繰り返して、出力辞書を作成します。各プレイヤーIDについては、アウトプットディクショナリ(存在する場合)にスコアをチェックし、必要に応じて出力を更新するだけです。 – Paulw11