Skip to main content

Recursively traverse object in Objective-C



I'm converting diverse JSON objects to structured objects and want to iterate over all the nodes to process each one hierarchically. JSON framework supports conversion to an NSDictionary, which I thought was unstructured. I want to recursively iterate through each item and pay respect to the structure. How would this be done with either a dictionary or generic NSOBject?





Example:







- (void) processParsedObject:(NSDictionary *)obj

{

if (atTheEndOfTheTail) {

NSLog(@"Object description: %@\n\n", obj.description);



}

for (id object in obj) {

[self processParsedObject:object];

}

}







Update:





I asked the question more clearly here (with answer):





Recursively traverse NSDictionary of unknown structure


Comments

  1. You can enumerate all the keys in an NSDictionary using:

    NSEnumerator* keyEnum = [myDictionary keyEnumerator];
    NSObject* nextKey;
    while ((nextKey = [keyEnum nextObject]) != nil)
    {
    NSObject* nextValue = [myDictionary objectForKey:nextKey];
    //... do something with the object and/or key ...
    }

    ReplyDelete

Post a Comment