On Wed, Mar 25, 2009 at 11:49 PM, Jerry Krinock <je...@ieee.org> wrote:
>
> On 2009 Mar 25, at 19:53, Pierce Freeman wrote:
>
>> I am attempting to sort through the contents of a .plist file in
>> NSDictionary, but am running into some problems.  Since .plist files are
>> kind of like a "tree", I can't just call objectForKey as there is no way
>> for
>> me to return the instance that I am looking for.  How would someone get a
>> certain key for each part of the tree?
>
> -valueForKeyPath:
>
> If your key path is in the form of an array, use this from my NSDictionary
> helpers...
>
> - (id)valueForKeyPathArray:(NSArray*)keyPathArray {
>    NSString* keyPath = [keyPathArray componentsJoinedByString:@"."] ;
>    return [self valueForKeyPath:keyPath] ;
> }

Note that this will fail hard if any of your keys have a . in them,
something that's perfectly legal. I would much prefer something like
this:

- (id)valueForKeyPathArray:(NSArray*)keyPathArray {
    id obj = self;
    for(id key in keyPathArray)
        obj = [obj objectForKey:key];
    return obj;
}

Mike
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to