• 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: looking for a memory problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: looking for a memory problem


  • Subject: Re: looking for a memory problem
  • From: Sean McBride <email@hidden>
  • Date: Fri, 20 Jul 2012 17:11:48 -0400
  • Organization: Rogue Research Inc.

On Thu, 19 Jul 2012 09:43:12 +1000, Shane Stanley said:

>> But you can prepare your code slowly, in a way that supports both.  ex:
>> - replace all use of NSAllocateCollectable with malloc/free
>> - change 'retain' to 'strong' in property declarations
>> - replace CFMakeCollectable with CFBridgingRelease
>> - replace NSMakeCollectable with a nil check and CFBridgingRelease
>
>Thanks -- I didn't realize the last two.
>
>So you are saying I can include things like __bridge and
>__bridge_retained in GC code, and they'll just be ignored until I flick
>the switch?

Actually, I wasn't saying that.  If you look in the header at how CFBridgingRelease is defined:

#if __has_feature(objc_arc)

NS_INLINE CF_RETURNS_RETAINED CFTypeRef CFBridgingRetain(id X) {
    return (__bridge_retained CFTypeRef)X;
}

#else

NS_INLINE id CFBridgingRelease(CFTypeRef CF_CONSUMED X) {
    return [(id)CFMakeCollectable(X) autorelease];
}

#endif

you see that it does the expected thing in either GC or ARC.  Very useful.  Just beware passing nil, which is ok with NSMakeCollectable but not so at the CF layer.

--
____________________________________________________________
Sean McBride, B. Eng                 email@hidden
Rogue Research                        www.rogue-research.com
Mac Software Developer              Montréal, Québec, Canada



_______________________________________________

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


References: 
 >looking for a memory problem (From: Martin Hewitson <email@hidden>)
 >Re: looking for a memory problem (From: Sean McBride <email@hidden>)
 >Re: looking for a memory problem (From: Shane Stanley <email@hidden>)
 >Re: looking for a memory problem (From: Sean McBride <email@hidden>)
 >Re: looking for a memory problem (From: Shane Stanley <email@hidden>)

  • Prev by Date: Re: setting selection in PDFView
  • Next by Date: Cell in Selected NSTableView Not Redrawn
  • Previous by thread: Re: looking for a memory problem
  • Next by thread: Re: looking for a memory problem
  • Index(es):
    • Date
    • Thread