0

このコードを使用して、テーブルビュー セルを新しいビューに移動させています。

[self performSegueWithIdentifier:@"hello" sender:self];

しかし、ビルドして実行し、セルをクリックすると、まったく異なる/無関係なビューが表示されます。何か案は?

4

2 に答える 2

0

TableViewControllerで次のコードを試してください

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"yourSegueIdentifierName"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
        [[segue destinationViewController] setDetailItem:object];
    }
}

これにより、セグエがリッスンされ、セグエの識別子と選択した行が確認されます。次に、選択した行のオブジェクトを使用してセグエを実行します。また、必要に応じて1つのビューに複数のセグエを簡単に含めることができます。さまざまなセグエ識別子に「if」関数を追加するだけです。

TableViewControllerでセグエを1つだけ使用する場合、実際には識別子は必要ありませんが、後の段階でコードに他のセグエを追加する場合に備えて、とにかくそれを使用することをお勧めします。

于 2012-08-10T10:15:20.063 に答える
0

ストーリーボードでセグエの識別子を確認してください。

また、複数のセグエがある場合は、正しいセグエが正しいボタンと正しいビューに接続されていることを確認してください。

于 2012-08-09T23:02:44.000 に答える