Ask yourself: What is the type of JSON[@"data"][@"menu"][i][@"item"] ? It is "id". The compiler doesn't know which method this object responds to. You send a "count" message. The compiler goes through all the count methods of all classes that it knows about. If there are more than two different ones, it has to complain.
You could write
NSDictionary* data = JSON [@"data"];
NSArray* menu = data [@"menu"];
NSDictionary* menuI = menu [i];
NSArray* item = menuI [@"item"];
for (NSDictionary* picture in item)
[pictureURL addObject:picture [@"image"];
More readable, easier to follow, runs faster, and easier to debug.
Of course you can also write
for (NSUInteger j = 0; j < item.count; ++j)
{
NSDictionary* picture = item [i];
[pictureURL addObject:picture [@"image"];
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…