0
アップルのコード:http://developer.apple.com/library/ios/#qa/qa1702/_index.htmlApple Codeのリリースがありませんか?
私は、initメソッドの開始時に割り当てられたセッションが解放されていないことが分かります。
なぜですか?これには理由がありますか?
アップルのコード:http://developer.apple.com/library/ios/#qa/qa1702/_index.htmlApple Codeのリリースがありませんか?
私は、initメソッドの開始時に割り当てられたセッションが解放されていないことが分かります。
なぜですか?これには理由がありますか?
カップルの理由が頭に浮かぶ:
autorelease
コール後に逃しました。init
メソッドの最後にsession
が得られるivarは、@property (assign)
と宣言されているため、意図的に保持したかったのです。私が正しく覚えていれば、これは貧弱な練習です - autorelease
dセッションがあり、@property (retain)
と宣言してください。release
session
の後です。厳密には貧弱な習慣ではありませんが、確かに混乱して読むのが難しく、後でメンテナンスのバグにつながる可能性があります(誰かがretain
- release
の残高の記録を失ったとき)。いずれにしても、適切なメモリ管理の方法とは多少矛盾しているという点では正しいです。しかし、それがリリースされていない決定的な理由があるかどうかを確かめるのは難しいです。