0

現在、2 つのビュー コントローラーがあります:ViewControllerDetailViewController. どちらもテーブル ビュー コントローラーではなく、単なるビュー コントローラーです。ただし、それ以外の場合はうまく機能しているテーブルがViewControllerあります。DetailViewControllerセルが選択されたときに変数をセグエ/パスしたい。

ストーリーボードを使用して、セルからDetailViewController識別子へのモーダル セグエを設定しましたtoDetailView

このメソッドを使用してplay、VC から DVCに変数 (この例では/doc/uid/DTS40007416-Classes_RootViewController_m-DontLinkElementID_10 ):

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"toDetailView"]) {

        NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
        DetailViewController *detailViewController = [segue destinationViewController];
        detailViewController.play = [dataController objectInListAtIndex:selectedRowIndex.row];
    }
}

ただし、次のエラーが表示されますProperty 'tableView' not found on object type 'ViewController *'。これはTable View Controllerではないからだと思いますか?どうすればこれを回避できますか? または、を使用して変数をセグエして渡すために使用できる別の方法はあります(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPathか?

4

1 に答える 1

0

ViewController で、次のような新しいプロパティを作成します。

@property (nonatomic, assign) IBOutlet UITableView *tableView;

そしてsynthesizeそれ。次に、Interface Builder で、使用しているテーブルビューにアウトレットを割り当てることができるはずです。これでうまくいくはずです

于 2012-07-22T20:58:35.400 に答える