0

ニブのないアプリがあります。その rootviewcontroller は tableviewcontroller です。詳細ビューを制御する2番目のテーブルビューコントローラーにプッシュしています。ちょうど今週初めに、次の tableviewcontroller へのプッシュに成功しました。数日後 (おそらく間違ったバージョンを保存した後)、

私は得る

(lldb)テーブル項目を選択すると、pushViewController メソッドにブレークポイントが設定されます。すべての例外のブレークポイントが有効になっています。再生ボタンをさらに 2 回押すと、出力ボックスに次のように表示されます。

" ** キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。

ここに何か問題がありますか、それともプロジェクトの他の場所を探す必要がありますか?

これは私のヘッダーインターフェースにあります:

    TopicsDetailViewController *tdvController;

:) そして、これは私の didSelectRowAt です...

       tdvController = [[TopicsDetailViewController alloc] init];

             tdvController.aFeed = afeed;
    [self.navigationController pushViewController:tdvController animated:YES];
    tdvController = nil;

ありがとうございます。間違ったツリーを吠えている場合はお知らせください。

4

1 に答える 1

1

私がこれを正しく理解している場合、インターフェイス ファイルの tdvController 宣言は、例外を取得しているインスタンス メソッドの tdvController と同じ名前になっています。

このインスタンス メソッドでインスタンス変数を作成して使用する意図がある場合は、再度宣言せずに、次のようにします。

self.tdvcController = [[TopicsDetailViewController alloc] init];

ヒープ上にオブジェクトを作成しています。

このインスタンス メソッドで、iVar ではないタイプの TopicsDetailViewController のローカル変数を使用する場合は、ローカル変数の名前を別の名前に変更します。

于 2013-01-25T15:12:10.610 に答える