|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
On Jun 28, 2008, at 1:08 PM, Kyle Sluder wrote:On Sat, Jun 28, 2008 at 2:14 PM, Bill Bumgarner <email@hidden> wrote:You want -objectForKey: -valueForKey: is for key value coding, -objectForKey: is for extracting objects from a dictionary.
Shouldn't cause a problem.
I thought the collection classes were smart and treated -valueForKey: by sending each object in the collection -valueForKey: and compiling the results in an object arranged in the same way as the original. That way you could have an array of strings and do something like [myArray valueForKey:@"length"] to get an array of lengths corresponding to each instance.
Sort of. Depends on the collection class. The behavior you describe works for NSArray (and NSSet, IIRC). For NSDictionary, the rules are slightly different: ...
If key does not start with @, invokes objectForKey:. If key does start with @, strips the @ and invokes [super valueForKey:]with the rest of the key.
-valueForKey: != -objectForKey:
Which is, frankly, a bit goofy and, thus, the primary reason why I would avoid using -valueForKey: on a dictionary.
Amen. It's slower, and people reading your code can get very confused.
Cocoa-dev mailing list (email@hidden)
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: This email sent to email@hidden
Visit the Apple Store online or at retail locations.
Copyright © 2011 Apple Inc. All rights reserved.