On Aug 29, 2011, at 7:20 AM, Thomas Davie wrote:

> I'm not really very clear on how ARC and CF types are meant to interact yet, 
> because of that I've managed to create some buggy code, could someone have a 
> quick stare at this and tell me what I've misunderstood that's causing a 
> segfault when adding to the mutable set:


Given "id foo" and "CFTypeRef bar":

// assign bar to foo without making any implicit change to bar – traditional 
toll free bridging
foo = (__bridge id)bar; 

// consume bar to create an ARC managed reference in foo – replaces foo = 
(id)bar; [foo release];
foo = (__bridge_transfer id)bar; 

// retain foo and manage it as a non-ARC reference – replaces bar = 
(CFTypeRef)[foo retain];
bar = (__bridge_retain CFTypeRef)foo;
--
David Duncan

_______________________________________________

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