KVO: I get called on change, but then can't get the object
KVO: I get called on change, but then can't get the object
- Subject: KVO: I get called on change, but then can't get the object
- From: Rick Mann <email@hidden>
- Date: Sat, 31 May 2008 00:21:09 -0700
I registered to observe changes in the "number" column of my tree
controller:
[mItemsController addObserver: self
forKeyPath: @"selection.number"
options: (NSKeyValueObservingOptionNew)
context: NULL];
My -observe: action gets called, but this line
NSLog(@"Value changed %@: %@ (%@)", inKeyPath, inChange, [inObject
selection]);
dumps this to the console:
Value changed selection.number: {
kind = 1;
new = <null>;
} (<_NSControllerObjectProxy: 0x177cb0>)
Note that "new" is null. I would expect it to be the value of the
number.
Furthermore, this line:
NSLog(@"selection: %@", [inObject valueForKey: @"selection"]);
dumps:
selection: <_NSControllerObjectProxy: 0x177cb0>
But if I change it to @"selection.number", it throws the exception:
"[<NSTreeController 0x1722e0> valueForUndefinedKey:]: this class is
not key value coding-compliant for the key selection.number."
From reading the docs:
"NSObjectController and its subclasses implement the selection method.
This method returns a proxy object that represents the receiver’s
current selection. The proxy is fully key-value-coding compliant.
When you request a key’s value from the selection proxy it returns the
value, or a selection marker. Placeholder markers provide additional
information about the selection. There are three placeholder markers
defined in the NSPlaceholders informal protocol:"
It seems that I should be able to get the number from the selection,
but instead I get the exception:
"[<NSTreeController 0x170c60> valueForUndefinedKey:]: this class is
not key value coding-compliant for the key selection.number."
I feel like I should be able to get the number. Elsewhere I read that
I would get an array of numbers. What am I doing wrong?
TIA,
--
Rick
_______________________________________________
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