I understand the reason i should use retain, but why should I ever use assign? (besides to avoid retain cycles)
[EDIT] So if i understand Chuck's answer on https://stackoverflow.com/questions... correctly, when ever I use assign, the variable would lose scope once it gets out of scope of the method just like it does in regular C-type language behavior?