3

いくつかのデータを含む UITableView セルがあります。

セルを選択すると、テーブル ビューで別のビューにリダイレクトされます。これが私がやっていることです:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    Multa *multa = [self.multas objectAtIndex:indexPath.row];

    DetalheMultaViewController *form = [[DetalheMultaViewController alloc] initWithMulta:multa];
    form.delegate = self;

    [self.navigationController pushViewController:form animated:YES];
}

ただし、最後の行で次のエラーが発生しました: EXC_BAD_INSTRUCTION.

そして、コンソールに次のメッセージが表示されました(言っていることは理解できますが、何が起こっているのかわかりません):

2012-09-16 17:11:25.719 Multas Sociais[5092:11603] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<DetalheMultaViewController 0x7a46e10> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key fotoUrl.'
*** First throw call stack:
(0x1547052 0x1b0cd0a 0x1546f11 0xf2d032 0xe9ef7b 0xe9eeeb 0xeb9d60 0x7ac91a 0x1548e1a 0x14b2821 0x7ab46e 0x652e2c 0x6533a9 0x6535cb 0x652c1c 0x67956d 0x663d47 0x67a441 0x67a4f9 0x871c68 0x6314a1 0x63212b 0x8714c7 0x65a427 0x65a58c 0x65a5cc 0x3c2f 0x61d71d 0x61d952 0xea586d 0x151b966 0x151b407 0x147e7c0 0x147ddb4 0x147dccb 0x1f7a879 0x1f7a93e 0x58da9b 0x2608 0x2565)
terminate called throwing an exception(gdb) 

アイデア?

どうもありがとうございました。

4

3 に答える 3

3

おそらく、XIB ファイル内の何らかのオブジェクトに接続されるまで、古い IBOutlet が呼び出されfotoURLていますが、それ以降、コード内の .h から IBOutlet を削除しました。

XIB ファイルを編集して、古いfotoURLアウトレットへの接続を削除します。

十分でない場合は、プロジェクトを再度ビルドする前に、プロジェクトをクリーンアップする必要がある場合があります (「製品」メニュー、「クリーン」、またはより良い結果を得るには、「alt」キーを押しながら「ビルド フォルダーのクリーン…」を選択します)。

于 2012-09-16T20:32:52.593 に答える
2

fotoUrl以前に の xibに IBOutlet プロパティがあり、DetalheMultaViewControllerそれを何らかのオブジェクトにリンクしたと推測できます。後でこのプロパティをクラス インターフェイスから削除しましたが、xib のリンクは残りました。そのため、フレームワークが xib をロードすると、値を設定しようとしますが、そのような値はありません。

于 2012-09-16T20:30:00.880 に答える
1

プッシュされたときのView ControllerはfotoURL、存在しない にアクセスしようとしているようです。これはView ControllerのviewDidLoadメソッド内にある可能性がありますが、nibファイルの設定が無効である可能性があります。おそらく、fotoURLコンセントはペン先の以前のバージョンに存在し、切断されたことはありませんか?

于 2012-09-16T20:29:13.273 に答える