Could you please clarify this part of Apple’s documentation: Transitioning to ARC Release Notes – Frequently Asked Questions
How do blocks work in ARC?
Blocks "just work" when you pass blocks up the stack in ARC mode, such as in a return. You don’t have to call
Block Copy any more. You still need to use [^{} copy] when passing
"down" the stack into arrayWithObjects: and other methods that do a
retain.
What is passing blocks up and down the stack? Does it mean I would have to copy blocks I return from a function or method in MRC but in ARC I don’t have to?
They mean passing a block as a parameter to another method (or function) and returning a block as the result of a method (or function).
I believe that’s right.