On 28 Feb 2010, at 5:09 PM, Alexander Hartner wrote:
> CFDictionaryAddValue(aTouchSession, touch, pointDict);
> NSLog(@"Stored Touch : %i Point : %i",&touch,&pointDict);
>
> CGPoint beginPoint = *(CGPoint *)CFDictionaryGetValue(aTouchSession, touch);
> NSLog(@"Fetched Touch : %i Point : %i",&touch,&beginPoint);
... where touch is (UITouch *), pointDict is CFDictionaryRef, aTouchSession is
a mutable dictionary initialized to have ==>CFType<== keys and values, and
beginPoint is CGPoint, all local variables.
1. You do realize that your %i's, applied to pointers to your stack variables,
are just printing out the signed decimal integer representation of the
addresses of those variables (assuming int and pointer are the same size on the
current architecture)?
2. You do realize that the return value of CFDictionaryGetValue, with the
dictionary set up as you did, will be of a CoreFoundation object, and that
CGPoint is just a struct, not a Core Foundation object? In fact, you stored
pointDict into it, which is a CFDictionary, not a CGPoint. Taking the
CFDictionaryRef you got back from aTouchSession, and casting it to CGPoint *
won't make it a pointer to a CGPoint. Try pulling the values out with
CFDictionary functions.
— F
_______________________________________________
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]