On Oct 15, 2011, at 20:20 , Roland King wrote:

> -(void)addView:(UIView *)view forElement:(id)element
> {
>       CFDictionarySetValue( viewToElementMap, (__bridge id)view, (__bridge 
> id)element );
> }
> 
> gives me 
> 
> error: incompatible types casting 'UIView *__strong' to 'id' with a __bridge 
> cast [4]

Look in 3.2.4 of the ARC document:

        
http://clang.llvm.org/docs/AutomaticReferenceCounting.html#objects.operands.casts

'UIView*' is a retainable pointer type, so you must bridge it to a 
non-retainable pointer type -- in this case, you want 'const void *' because 
that's the type of the parameter you're passing:

>       CFDictionarySetValue( viewToElementMap, (__bridge const void *)view, 
> (__bridge const void *)element );

That compiles without error for me. Note that both of your casts were wrong. 
The error message on the 3rd parameter didn't appear until the error on the 2nd 
parameter was corrected.


_______________________________________________

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