2011-06-19 17 views
0

私のアプリでメモリの警告で私の問題で私を助けることができる人を知っています。私は複数のオブジェクトをNibファイルに追加し、それらを複数のIBOutletsに接続し、viewDidUnloadとdeallocメソッドでこれらのアウトレットを解放し、それらもnilに設定しますが、 "Received Memory Warning = Level 1"エラーの後もクラッシュし続けますメッセージ。 NibファイルのオブジェクトにNWPickerFieldを使用しました。iPhone開発メモリの警告

http://cocoacontrols.com/platforms/ios/controls/nwpickerfield

私は誰もがここでこの:)感謝と乾杯を使用して試してみました願っています!

答えて

0

メモリ警告が表示されたときにクラッシュすると、何かが割り当て解除されることがありますが、ポインタがnilに設定されていないため、アクセスしようとしたときにクラッシュします。

このようなエラーは追跡が難しい場合があります。いくつかのタイプ: Xcodeの楽器を使って遊んでも構いません(XcodeではBuild & Profileを使用しています)。特にゾンビのようにゾンビとして扱います。 もう1つの有用な方法はウォッチポイントです。シミュレータが起動したら、コンソールで変数を右クリックし、「このアドレスを見る」と言う。そのメモリ位置を変更するコード行があれば、ブレークポイントが発生するとそのブレークポイントが発生します。 もう1つのことは、あなたのivars、inits、deallocsをすべて実行して、実際にすべてのケースを取得したことを確認することです。

0

質問にお答えしましたとおり。

私はまた、nilに

適切なメモリをクリーンアップするか、それらを設定します。最初にrelease関数またはdelete演算子を呼び出して、nilというオブジェクトを割り当てます。

+0

"私はこれらのアウトレットを私のviewDidUnloadとdeallocメソッドでリリースしました。私はそれらをnilにも設定しました" –

+0

@Peter Hosey:ここには行けませんでしたか? – Jhaliya

+0

質問者は既にオブジェクトを解放しています。 (もしあなたが 'release'メッセージを送信する前に' nil 'を割り当てていると思われたら?答えが分からない場合) –

関連する問題