2011-12-23 10 views
0

私のビューコントローラ(ナビゲーションコントローラ)にテーブルがあります。それは5行を含んでいます。 1つ目の3行目をクリックすると、新しいView Controllerがスタックにプッシュされます。この新しいコントローラにはテーブルビューも含まれ、そのテーブルビューのセルにはテキストフィールドが含まれます(cell.contentView addSubViewを使用して追加されます)。テキストフィールドの1つをクリックすると、キーボードの代わりに(textField.inputViewを使用して)ピッカーが表示されます。 今、ピッカーの項目を選択せず​​に、私は戻るボタンをクリックすると、私のビューがポップアップします。しかし、しばらくして(私がルートビューコントローラにいるとき)、アプリがクラッシュします。ナビゲーションコントローラの戻るボタンをクリックするとアプリケーションがクラッシュする

しかし、(キーボードを表示している)テキストフィールドをクリックしてから、戻るボタンを押します。クラッシュは発生しません。だから、何が問題だろうか?

+1

コードの一部を表示できますか? – Sarah

+0

FirstViewControllerはMy Root Controllerで、3番目のセルをクリックするとSecondViewControllerがプッシュされます。私がSecondViewController(ピッカービューが表示されている)の戻るボタンをクリックすると、ポップアップされ、FirstViewControllerが2,3秒間表示されてからアプリケーションがクラッシュします。 コンソールログ:(NSZombieEnabledがYESの間) *** - [SecondViewController respondsToSelector:]:解放されたインスタンスにメッセージが送信されました。0x599d280 – anshul

+1

コードを表示する必要があります。コンソールでアイデアを得ることはできません。また、NULL値がいくつかの変数に渡され、アプリがクラッシュする可能性があります。 – Sarah

答えて

0

ロジックにバグがあるようです。ビルドとデバッグを行い、呼び出し関数のデバッガ(実行デバッガ)スタックを参照してください。

0

ポインタをnilや他のオブジェクトに初期化せずに使用すると、あなたのメモリではないメモリにアクセスすることになります。このタイプのコードでは、EXC_BAD_ACCESSエラーも発生します。つまり、自分のものではないメモリを使用することになります。まず、ブレークポイントを行単位で使用してコードをトレースします。

関連する問題