21:57 |
ついつい、
mutableArray.addObject(btn);
とか書いてしまい、エラーから抜け出せなくなる初心者です。
正解は、
[mutableArray addObject:btn];
どえす。
faultier2008/11/02 23:43autoreleaseが呼ばれてるのは、"「そこから次に渡した実装が見えないメソッド」の中"じゃなくて、値が返ってくる前です。例えばNSStringだったら、[NSString string]のstringメソッドの中。で、NSAutoreleasePoolも用意してないのにどこにあるんだろ、って言うと、実際に自分が書いた部分に処理が来るより前に用意されて、終わった後に破棄されてます。順番で言うと、・イベント起きる・NSAutoreleasePool作られる・自分の書いた部分に処理が来る・NSStringのstringメソッド呼ぶ・autorelease済みのNSStringオブジェクトが返される・続きの処理をする・NSAutoreleasePoolが破棄されて、そんとき一緒にNSStringのオブジェクトも消える・イベント終わるトラバ飛んでると思いますが、http://blog.livedoor.jp/faulist/archives/1051536.htmlにそれに絡んだ話も書いてますんで、良かったら見てみて下さい。
値が返ってくる前です。例えばNSStringだったら、[NSString string]のstringメソッドの中。
で、NSAutoreleasePoolも用意してないのにどこにあるんだろ、って言うと、実際に自分が書いた部分に処理が来るより前に用意されて、終わった後に破棄されてます。
順番で言うと、
・イベント起きる
・NSAutoreleasePool作られる
・自分の書いた部分に処理が来る
・NSStringのstringメソッド呼ぶ
・autorelease済みのNSStringオブジェクトが返される
・続きの処理をする
・NSAutoreleasePoolが破棄されて、そんとき一緒にNSStringのオブジェクトも消える
・イベント終わる
トラバ飛んでると思いますが、http://blog.livedoor.jp/faulist/archives/1051536.htmlにそれに絡んだ話も書いてますんで、良かったら見てみて下さい。