2

これが私のコードです.....

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

[tableView deselectRowAtIndexPath:indexPath animated:NO];

[self performSegueWithIdentifier:@"BowlerDetail" sender:self];
}

返されるのは、セルがまだ選択されていることだけで、詳細ビューは表示されません。はい、確認しました。「BowlerDetail」はセグエの名前です。エラーメッセージは次のとおりです-「NSInternalInconsistencyException」、理由:「[UITableViewController loadView]は「tc8-Hk-kaK-view-YJA-Me-wti」nibをロードしましたが、UITableViewを取得しませんでした。」.

どんな助けでも大歓迎です。

編集: xCode 4.2 より前の時代、これは私が以前ここで目的を達成した方法です。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:NO];

DetailView *detailVC = [[DetailView alloc] initWithNibName:nil bundle:nil];

[self.navigationController pushViewController:detailVC animated:YES];


[detailVC release];
}
4

3 に答える 3

3

問題は、プッシュ セグエを使用し、UINavigationController をルート ビュー コントローラーとして使用しなかったことです。そのため、UINavigationController をルート ビュー コントローラーとして追加するか、セグエをモーダルに変更します。

于 2012-04-19T11:59:56.963 に答える
1

プログラムでセグエを実行する必要がない場合は、オプションを押しながらセルをクリックし、表示するビューに「モーダル」セグエをドラッグすることで、セルのプロトタイプを IB に接続できます。

そして、あなたのコードで?このメソッドは、セグエの開始時に表示されるビュー内にありますか? 両方のビューがストーリーボードにありますか?

于 2011-12-11T21:56:02.727 に答える
0

[tableView deselectRowAtIndexPath:indexPath animated:NO];. このメソッドをそれ自体から呼び出します。それはあなたがしたいですか?これを削除する必要があると思います。

于 2011-12-05T04:34:29.617 に答える