我正在使用以下代码:

NSMutableDictionary *farmGatesDict  = [[NSMutableDictionary alloc]
                 initWithDictionary:[xmlDictionary objectForKey:@"FarmGates"]];

        NSLog(@"value from dictionary : %@", [farmGatesDict objectForKey:@"FarmGate"]);


NSMutableDictionary *farmDetailDict=[[NSMutableDictionary alloc]
                 initWithDictionary:[farmGatesDict objectForKey:@"FarmGate"]];

NSLog(@"%@", farmGateString);

我正在使用它,因为此字典是已解析的xml文件,并且我想遍历树。我的第一个适用于farmGatesDict的代码运行良好,但是第二个适用于farmDetailDict的应用程序却因以下异常而崩溃:

-[NSDictionary initWithDictionary:copyItems:]:字典参数不是NSDictionary'

请提示我我是否落后。

以下是NSLog数据...
2012-12-28 15:40:05.223 FarmGates[6170:c07] value from dictionary : (
        {
        address =         {
            text = "\n        2873 Huon Highwway, 2km south of Huonville, over the bridge on river side of road.";
        };
        contact =         {
            text = "\n        Contact 03 6264 1474";
        };
        description =         {
            text = "\n        Shed Door Sales. Arguably the longest standing and most popular road side stall in the Huon. Incorporated with a modern apple packing facility and featuring the refrigerated displays this ensures the freshest stock direct from the grower.";
        };
        fruits =         {
            fruit =             (
                                {
                    text = "\n        \n          Cherries";
                },
                                {
                    text = "\n          Apple";
                }
            );
            text = "\n        ";
        };
        id = 1;
        images =         {
            image =             (
                                {
                    text = "\n        \n          a1.jpg";
                },
                                {
                    text = "\n          b1.jpg";
                },
                                {
                    text = "\n          c1.jpg";
                }
            );
            text = "\n        ";
        };
        latitude =         {
            text = "\n        -43.04964";
        };
        longitude =         {
            text = "\n        147.03903";
        };
        name =         {
            text = "\n  \n  \n        Griggs Grower Direct apples and cherries";
        };
        open =         {
            text = "\n        Open daily except Christmas and Boxing Day.";
        };
        region =         {
            text = "\n        Huon Valley";
        };
        services =         {
            service =             {
                text = "\n        \n            NA";
            };
            text = "\n        ";
        };
        text = "\n    ";
    },
)

最佳答案

您可以得到一个数组,可以从NSLog轻松看到。

(
        {
        address =         {
            text = "\n        2873 Huon Highwway, 2km south of Huonvil

因此,请先使用objectAtIndex:,然后再使用objectForKey:
NSMutableDictionary *farmDetailDict=[[NSMutableDictionary alloc] initWithDictionary:farmGatesDict[0]];

10-08 11:39