• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: can you autorelease toll-free bridged types
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: can you autorelease toll-free bridged types


  • Subject: Re: can you autorelease toll-free bridged types
  • From: Mike Abdullah <email@hidden>
  • Date: Tue, 31 Aug 2010 17:20:04 +0100

On 31 Aug 2010, at 17:02, Roland King wrote:

> can you do this?
>
> 	CFMutableDictionaryRef tokenByParent = CFDictionaryCreateMutable( NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks );
> 	[ (NSMutableDictionary*)tokenByParent autorelease ];
>
> with of course the desire to continue using tokenByParent in the routine.
>
> CFMutableDictionaryRef is toll-free bridged with NSMutableDictionary but does that that extend to autoreleasing it?
>
> Normally I balance alloc/init with release and CF..Create.. with CFRelease(), in this case I have deeply nested code iterating over a database and there are multiple ways it can fail, I'm testing for the failures and returning appropriate errors but don't want to have to deal with figuring out what I need to release at 10 different exit points to the routine so I'd like to just use autorelease and let someone else worry about it. The alternative is either massive nested if() code or abusing @try/@finally with no @catch to release everything on the way out the door.
>
> Is it ok to cast a CF object to an NS object for the purpose of autoreleasing it?

Yes, provided you are not writing dual-mode GC/manual memory management code. The Static Analyzer will do a good job warning you of this anyhow.

_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: can you autorelease toll-free bridged types
      • From: Dave DeLong <email@hidden>
References: 
 >can you autorelease toll-free bridged types (From: Roland King <email@hidden>)

  • Prev by Date: Re: NSCell and partial redraw
  • Next by Date: Re: can you autorelease toll-free bridged types
  • Previous by thread: can you autorelease toll-free bridged types
  • Next by thread: Re: can you autorelease toll-free bridged types
  • Index(es):
    • Date
    • Thread