セルを詳細ビューにプッシュするためにinitWithNibNameを使用していましたが、多数のnibファイルを用意するのではなく、1つのストーリーボードを使用します。下のコードは、セルがクリックされたときに、subcategoriesViewControllerにビューをプッシュすることになっています。セルはjsonデータから動的です。pushViewControllerが押されていない
このエラーは発生しません。ナビゲーションコントロールの問題だと思いますか?テストするだけで、このビューにボタンを追加して動作させました。それをクリックすると、次のビューに移動します。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *dict = [rows objectAtIndex: indexPath.row];
subcategoriesViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"subcategoriesViewController"];
controller.CATNAME = [dict objectForKey:@"C_NAME"];
controller.CATNUMBER = [dict objectForKey:@"CAT_ID"];
[self.navigationController pushViewController:controller animated:YES];
// [controller release];
}
私は原因を見つけたと思います。それを修正する方法を知らない。
このコントローラのtableviewは、実際にはviewControllerのサブビューです。私はこれらのファイルを複製し、TableViewControllerである新しいビューを作成しました。このコードは、TableViewControllerで使用されるとジョブを実行しますが、TableviewがViewControllerのサブビューであるコントローラで使用された場合は実行されません。
テーブルの上に画像を配置したいので、テーブルをサブビューにします。だから、私はこの問題がこの行だと思う:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
ビューの表は参照されません。誰も私にこれを変更する方法を教えて、ビュー内のテーブルを参照することはできますか?
はい。意味あり。私はそれを考えましたが、私は以下のコードを使ってそれを行いました。それで十分ではないですか? @interface categoriesViewController:UIViewController { \t UITableView * tableview; } –
そうですが、テーブルビューにその委任者が誰であるかを伝える必要もあります。これをストーリーボードに接続し、デリゲートコンセントをテーブルビューからビューコントローラにドラッグすることができます。 – jrturton
私はそれをしましたが、理由を述べずにクラッシュし始めました。私は明日、新鮮なスタートを作ると思う。御時間ありがとうございます。 –