Question about statement in book


#1

Hi all,

In the discussion on retain cycles it says: [quote]Per our understanding of memory management so far, both BNRItems should be destroyed along with their instance variables when items is set to nil.[/quote] However, since the pointers backpack and calculator which are local to main() were not set to nil in the code, isn’t it more accurate to say that both BNRItems should be destroyed when control exits the @autorelease block (since each of the two objects still has an owner)? I realise the practical distinction seems small, since the @autorelease block ends immediately after items is set to nil, but I just want to make sure I’m not missing something conceptually.

Thanks