Alex Rivera | Logout

Some questions about Automatic Reference Counting in iOS5 SDK

Asked 2011-06-16T07:41:14.260
134

I'm currently developing an app for iPad. The development started for iOS 4.2 and is now continuing (and I think will be completed) for iOS 4.3. I just read about ARC in iOS 5, and basically I understood that we will never need to release and retain objects anymore. My questions are:

  1. If I decide to upgrade to iOS 5, do I need to remove all [myObject retain] and [myObject release] statements from my code?

  2. If I develop a new app for iOS 5 using ARC, will I need to implement some sort of "retro-compatibility" checks? i.e.: will I need to check the version of iOS and call retain and release accordingly? So, basically, is ARC available for all iOS versions or just for iOS 5?

Edit
Report

1 Answer

5

Regarding this part of your question

If I develop a new app for iOS 5 using ARC, will I need to implement some sort of "retro-compatibility" checks? I.e.: will I need to check the version of iOS and call retain and release accordingly? So, basically, is ARC available for all iOS versions or just for iOS 5?

It should be be noted that the iOS 5 compiler takes of the "retro-compatibility" (it actually ADDS the code to make retain/release work, essentially), but if you are not compiling for iOS 5.0, you cannot use weak as a keyword. Instead you use assign. This is unfortunate: weak is a huge advantage (no dangling pointers, ever!). See my question here for a discussion of weak, assign and ARC.

answered 2011-10-12T12:56:29.140

Your Answer