0

私の配列には、配列のオブジェクトごとに 3 つの辞書が含まれています。

{
    avg = {
        avg1 = 50;
        avg2 = 60;
    };

    posts =         {
        alcoholContent = 450;
        name = "BBB";
        origin = United States;

    };

    reviews =  {

        rev1 = "Test review 1";
        rev2 = "Test review 2";
    };
}

{
    avg = {
        avg1 = 30;
        avg2 = 20;
    };

    posts =         {
        alcoholContent = 550;
        name = "AAA";
        origin = United States;

    };

    reviews =  {

        rev1 = "Test review 1";
        rev2 = "Test review 2";
    };
}

キー「名前」(ポスト辞書の)に基づいて配列をソートしたい。どうすればいいですか?

ソート記述子を使用して通常のソート方法を試しましたが、うまくいきませんでした

4

1 に答える 1

1

sortUsingComparator を試してください:

[array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
    NSDictionary *dict1 = obj1;
    NSDictionary *dict2 = obj2;

    NSString *string1 = [[dict1 objectForKey:@"posts"] objectForKey:@"name"];
    NSString *string2 = [[dict2 objectForKey:@"posts"] objectForKey:@"name"];

    return [string1 compare:string2];
}];
于 2013-01-07T09:34:42.150 に答える