Neither is appropriate in my situation: Only one touch-up is needed so converting entire file (even just one method since it is extremely long) to MRR is is inappropriate and I need portability to GNUstep so CoreFoundation (and quite portion of Foundation) have to be avoided. First part of the situation ruled out messages and second part ruled out CF* functions.
OS X built Foundation on top of CoreFoundation but GNUstep built their CoreFoundation side by side with Foundation, so CoreFoundation cannot be assumed to be exist (and in most cases, it doesn't) On Oct 24, 2013, at 18:04, Greg Parker <gpar...@apple.com> wrote: > On Oct 23, 2013, at 10:57 PM, Maxthon Chan <xcvi...@me.com> wrote: >> Situation: I am writing a custom decoder that decodes objects from >> JSON-based archives. My objects gets released prematurely, hence a manual >> retain is asked for. >> >> I need to make this thing work across multiple platforms (that is, Cocoa >> versus GNUstep) but some certain platform does not have the toll-free >> bridging capabilities of CFRetain/CFRelease functions, or even lacked >> CoreFoundation at all (that is, GNUstep can be configured to disable >> toll-free bridging in their implementation of CoreFoundation, or the >> CoreFoundation library can be missing entirely since it is optional to >> them). Calls to those functions are what I have to do to make the decoder >> work. > > If you need to manipulate retain counts directly, the supported mechanisms > are: > 1. call CFRetain or CFRelease or CFAutorelease. > 2. call -retain or -release or -autorelease from a non-ARC file. > > Do not call objc_retain or objc_release or objc_autorelease directly. > > > -- > Greg Parker gpar...@apple.com Runtime Wrangler > >
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ 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