0

それぞれが一意のデータ(タイトル/詳細など)に関連付けられた複数のセル(詳細開示)を持つTableViewControllerがあります。セルの1つをクリックすると、別のViewControllerが(モーダルまたはプッシュセグエを介して)ロードされ、クリックされたセルに応じてデータが表示されます。

簡単な例:

TableViewControllerの各セルは、個別のURLに関連付けられています。セルの1つをクリックすると(詳細開示)、WebViewを含む次のViewControllerは、クリックされたセルのURLに対応するWebページを開くはずです。

どうすればそれを達成できますか?

4

2 に答える 2

1

データにアクセスする1つの方法は、prepareForSegueメソッド内で次を使用することです。

NSIndexPath *indexPath = tableView.indexPathForSelectedRow;

これにより、テーブルの選択された行(セル)にアクセスできるため、ユーザーが選択したアイテムを知ることができます。

次に、必要なデータを抽出し、他の回答に示されているように、prepareForSegueメソッドを使用して宛先のViewControllerに渡します。

于 2012-05-05T10:53:13.307 に答える
1

まず、各セグエの識別子を設定する必要があります(ストーリーボードで、セグエをクリックして属性インスペクターで設定するだけです)。

次に、UITableViewControllerサブクラスで、prepareForSegueをオーバーライドする必要があります。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"yourSegueIdentifier"] ) {
        UIViewController *viewController = segue.destinationViewController;
        viewController.yourVariable = yourData;
    }
}
于 2012-05-04T20:13:14.557 に答える