Advertisement

Dev Juice: Automatic Reference Counting

Dear Dev Juice,

I'm so confused. Is ARC Automatic Reference Counting or Automated Reference Counting? And is it Manual Retain and Release or Manual Reference Counting? Help a guy out.

Paul W.

Dear Paul,

Let's separate those two questions because there's a cut-and-dried answer for the first, but not for the second.

ARC refers to the new LLVM Objective-C automated memory management scheme. With ARC, you can focus more on your code semantics, leaving many of the memory issues to the compiler.

Without a doubt ARC stands for Automatic Reference Counting. You can confirm this for yourself by visiting the official Technical Specification page at http://clang.llvm.org/docs/AutomaticReferenceCounting.html.

As for the MRR/MRC issue, the use of Manual Retain and Release remains far more common than Manual Reference Counting. An informal survey of a popular developer forum shows that MRR cites outnumbers MRC ones by an approximate factor of three. That doesn't mean the question is settled.

Both phrases are used (albeit not as acronyms) in the technical specification documents. Greg Parker of Apple uses MRC in this archived language development discussion list post.

What do you use? Add your vote to this poll and leave a comment to explain why.

%Poll-69262%

Thanks, Tim Burks