> Following Cocoa convention you'd want to cast it to what and autorelease it? 
> CGColorRef isn't toll-free bridged with anything. If you have been casting it 
> to id and autoreleasing it you might have gotten away with that before but I 
> don't think it's documented anywhere you can do that with CFTypes in general.

You can.  It may not be in the docs, but all CF types are also NSObjects (or a 
subclass thereof).

> You could change the semantics of the method to return a CFRetain()ed object 
> and make it the responsibility of the caller to release it (and change the 
> name of the method too to make it clear) or you can create a UIColor with 
> your CGColorRef, then CFRelease() it and return the UIColor. 
> 
> Mixing autorelease and CFTypes does't seem like a great idea, but I'm 
> prepared for someone to point out a whole piece of documentation I've never 
> seen, that often seems to happen!

No, mixing them is indeed a bad idea.  CF doesn't have auto release pools, so 
anything dealing with CF types is free to not think about them, and in practice 
often does.  I would go with explicitly returning the CGColorRef retained.
_______________________________________________

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