I am converting a project to Arc.

Formerly I had:

CFStringEncoding encoding = ...
CFStringRef axa = CFStringGetNameOfEncoding ( encoding );
NSString *encodingName = (NSString *)axa;
NSDictionary *d =       [ [ NSDictionary alloc ] initWithObjectsAndKeys:        
        encodingName,   kEncodingName,
        nil
                                ];
// from here on encodingName is no more used (and on course also not released).


Xcode 4.2 tells me that "NSString *encodingName = (NSString *)axa" is no good.
And the "Transitioning to ARC Release Notes" did fail to enlighten me.


So, should I use:
NSString *encodingName = (__bridge NSString *)axa;
or:
NSString *encodingName = (__bridge_transfer NSString *)axa;


And what about this scenario:
CFStringRef axb =CFStringCreateCopy(...);
NSString *myString = (NSString *)axb;
//      do something with myString and finally do:
[ myString release ];

which bridge thing has to be used here?


Kind regards,

Gerriet.


_______________________________________________

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