1

編集(詳細のレイヤーを見逃しました):各教師には一連のクラスがあります。(JSON もバリデーターで実行したので、少し読みやすくなっています) 次の JSON を想定します。

{
"schools": [
    {
        "schoolID": "01",
        "schoolName": "School01",
        "teachers": [
            {
                "name": "Mr. Russell",
                "teacherID": "teach01",
                "classes": [
                    {
                        "className": "History",
                        "classID": "class01"
                    },
                    {
                        "className": "Civics",
                        "classID": "class02"
                    }
                ]
            },
            {
                "name": "Mrs. Pearl",
                "teacherID": "teach02",
                "classes": [
                    {
                        "className": "English",
                        "classID": "class05"
                    },
                    {
                        "className": "Poetry",
                        "classID": "class06"
                    }
                ]
            }
        ]
    },
    {
        "schoolID": "02",
        "schoolName": "School01",
        "teachers": [
            {
                "name": "Mr. Russell",
                "teacherID": "teach05",
                "classes": [
                    {
                        "className": "Pre-Calc",
                        "classID": "class10"
                    },
                    {
                        "className": "Calculus",
                        "classID": "class12"
                    }
                ]
            },
            {
                "name": "Mr. Marks",
                "teacherID": "teach07",
                "classes": [
                    {
                        "className": "History",
                        "classID": "class01"
                    },
                    {
                        "className": "Driving",
                        "classID": "class20"
                    }
                ]
            }
        ]
    }
]
}

つまり、学校の配列があり、各学校には教師の配列が含まれ、各教師にはクラスの配列が含まれています。(JSON の正確なフォーマットが正しくない場合は申し訳ありません。これは理論上のモデルです。NDA の要件により、実際のモデルを明らかにすることはできません。実際のモデルは健全です。)

NSPredicate と KVC を使用してこのコレクションを検索し、「History」という名前のすべてのクラス名を取得する必要があります。いくつかの異なる方法で実行しようとしましたが、空になります。例えば:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY schools.teachers.classes.className == %@", @"History"];

しかし、私は空っぽに戻ってきます。私が試みていることは、KVC が実行できることに対して複雑すぎますか? classNames を検索する前に、各学校を反復処理してから、各教師反復処理する必要がありますか? または、やりたいことが可能である場合、何が欠けていますか?

ありがとう。

4

1 に答える 1