The main issue with the original code is that it assumes that the value is a 
CGPoint. If it were anything smaller, you'd get garbage values in your point, 
and if it were any larger, you'd be stomping on memory as you ran off the end 
of your CGPoint variable.

Any time you use -[NSValue getValue:], you should check to make sure that the 
NSValue represents the correct type.

Sent from my iPad

On Apr 3, 2010, at 7:52, Roland King <r...@rols.org> wrote:

> 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 (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/kiel.gillard%40gmail.com
>>> 
>>> This email sent to kiel.gill...@gmail.com
>> 
> 
> _______________________________________________
> 
> 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/clarkcox3%40gmail.com
> 
> This email sent to clarkc...@gmail.com
_______________________________________________

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