誰かが次のコードによって私のアプリケーションが爆弾を引き起こす理由を説明できますか?NSDataを解放すると例外が発生する
NSData *myImage = UIImagePNGRepresentation(imageView.image);
:
[myImage release];
私は「解放」の行をコメントアウトした場合、アプリが実行されます...しかし、このコードを含む関数を呼び出して数回、私はクラッシュを取得する - 私はメモリリークによって引き起こされると思います。
もし私が関数の中のすべてのものをコメントアウトして、それらの2行を残しても、リリースが実行されると、アプリケーションはクラッシュします。
私は、これは「あなたが正しくあなたの混乱をクリーンアップする方法がわからない」初心者の事;-)
乾杯、
ジェイミーのようなものでなければならないと確信しています。
はい - あなたは正しいです...私はちょうどコードをもう一度やって、コードをコメントアウトしてステップバイステップで実行しています...私はそれをリリースしてはいけません!ありがとう - これは私がこの問題を解決するのを助けました。私が考えている本をもう少し読んでくれる時間:-( – badmanj
メソッドの場合、単語は 'alloc'、' new'、 'copy'(もちろん' retain')です。あなたはCore Foundationを考えていますとにかく、ここではメモリ管理ルールへの義務的なリンクがあります:http://developer.apple.com/mac/library/documentation/General/Conceptual/DevPedia-CocoaCore/MemoryManagement.html –