On Apr 30, 2009, at 5:29 PM, Ulai Beekam wrote:
Because just adding a key to a dictionary does not make it key-value- coding compliant with respect to that key. KVC is needed for key paths like that to work.----------------------------------------From: [email protected] To: [email protected] Date: Thu, 30 Apr 2009 19:00:51 -0500 Subject: valueForKeyPath Folks; I have a mutable dictionary 'myPerson' which has a key=@"address". The object stored at @"address" is another mutable dictionary. someCity = [myPerson valueForKeyPath:@"address.city"] --> nil someCity = [[myPerson valueForKey:@"address"] valueForKey:@"city"] --expected valueWhy does -valueForKeyPath not work in this circumstance? Steve
Check it:
$ irb
>> require 'osx/cocoa'
=> true
>> include OSX
=> Object
>> d1 = NSMutableDictionary.dictionaryWithObject_forKey("test", "foo")
=> #<NSCFDictionary {#<NSCFString "foo">=>#<NSCFString "test">}>
>> d2 = NSMutableDictionary.dictionaryWithObject_forKey(d1, "bar")
=> #<NSCFDictionary {#<NSCFString "bar">=>#<NSCFDictionary
{#<NSCFString "foo">=>#<NSCFString "test">}>}>
>> d2.valueForKeyPath("bar")
=> #<NSCFDictionary {#<NSCFString "foo">=>#<NSCFString "test">}>
>> d2.valueForKeyPath("bar.foo")
=> #<NSCFString "test">
Appears to work just fine. Are you sure something else isn't different
than you expect?
-> jp
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Cocoa-dev mailing list ([email protected]) 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 [email protected]
