0

我有一个带有多个单元格(详细信息披露)的 TableViewController,每个单元格都与唯一数据(例如标题/详细信息)相关联。当我单击其中一个单元格时,另一个 ViewController 会被加载(通过模态或推送 segue),并且应该根据单击的单元格显示数据。

简单例如:

TableViewController 的每个 Cell 都与单独的 url 相关联。当我单击其中一个单元格(详细信息披露)时,下一个包含 WebView 的 ViewController 应该打开与单击的单元格的 url 对应的网页。

我们怎样才能做到这一点?

4

2 回答 2

1

首先,您需要设置每个 segue 的标识符(在情节提要中,只需单击 segue 并在 Attributes Inspector 中进行设置)。

然后,在您的 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 回答
1

访问数据的一种方法是在 prepareForSegue 方法中使用以下内容:

NSIndexPath *indexPath = tableView.indexPathForSelectedRow;

这将使您可以访问表格的选定行(单元格),以便您知道用户选择了哪个项目。

然后提取您需要的任何数据并使用 prepareForSegue 方法将其传递给目标视图控制器,如另一个答案所示。

于 2012-05-05T10:53:13.307 回答