やっと意味が分かってきた

setアクセサでnewObjectをretainしてから元をreleaseしてnewを代入してる意味が分かりませんでした。
元をreleaseして代入すればいいのにと思っていたんですが、それだと元とnewが同じオブジェクトだったら解放されちゃいますよね。
メモリ管理の部分をすっ飛ばしてiPhoneアプリを作り始めちゃったので、解放しなきゃ行けないパターンalloc+initと解放しなくてもいいパターンxxxxWith系の区別も付かなくて、分からないやつはどうせアプリが終了したら全部解放されるだろうくらいに考えていたんですが、さすがに申請通らないので、きちんとメモリ管理も含めObjective-Cのドキュメントを読み直し始めました。
最初に読んだときはよく分からなかったこともだいぶ理解できるようになっていたので、多少は身についている様子です。
でも、未だにalloc+initしたオブジェクトをarrayにaddした直後にreleaseするというのが、分かってはいるんだけどムズムズします。
解放したらarrayに入れたのも無くなっちゃうじゃんって思っちゃうんですよねえ。
releaseは「解放する」じゃなく「手放す」なんだと体に覚えさせるには、まだまだ時間がかかりそうです。