http://lists.apple.com/archives/cocoa-dev/2010/Apr/msg00106.html
Thanks pointValue didn't work on iPhone OS but CGPointValue did, luckily, as that's the one I needed. That seems to be a UIKit extension. I've switched to that. was my original method (apart from being clunky) wrong? It did work. On 03-Apr-2010, at 10:43 PM, Kiel Gillard wrote: > On 04/04/2010, at 1:40 AM, Roland King wrote: > >> I have a property which is a CGPoint and I'm observing it. I didn't really know what to expect in the change dictionary (I have NSKeyValueObservingOld as the observation flags) so I stuck in a breakpoint and went looking. After messing about in the debugger when the property was changed I found the old value was an NSConcreteValue and the following code appears to work to extract the CGPoint from it >> >> CGPoint oldPoint; >> id oldValue = [ change valueForKey:NSKeyValueChangeOld ]; >> [ (NSValue*)oldValue getValue:&oldPoint ] >> >> Is this correct? I've failed to find anything much in the KVO documentation about CGPoint or how I should expect to receive structs or other primitives. > > In the case of NSPoint/CGPoint: > > CGPoint oldPoint = [oldValue pointValue]; > >> This is iPhone OS (incase that makes a difference). _______________________________________________ >> >> 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 >
// id newValue = [ change valueForKey:NSKeyValueChangeNewKey ];
//
// [ (NSValue*)newValue getValue:&newPoint ];
//
// NSLog(@"the point is %@", NSStringFromCGPoint(newPoint));