I'm working on a Mac OS X product that currently runs on 10.6 through to 10.9.  
This product includes an NSColor category method named CGColor, which is 
patterned after the iOS UIColor interface and returns a CGColorRef.

@interface NSColor (CGColor)
- (CGColorRef)CGColor CF_RETURNS_RETAINED;
@end

As I'm sure you are aware, 10.8 now defines a method that does the same thing 
using the same name.  I'd like to make it so that calling code doesn't have to 
distinguish between these two methods but invokes the correct one based on 
which version of the runtime is present.  What is the best approach to solving 
this problem?

I also realize that the 10.8 version returns an autoreleased object whereas the 
version written a couple of years ago must have the resulting reference freed 
by the caller.  I'm not sure how Apple pulls that off with a CF reference but 
I'd love to have a solution for that as well.

Discussion?

-Michael
_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to