Ios5 如何从TableViewController传递数据(选定/单击的单元格值)';将s单元格(详细信息)加载到下一个ViewController?

Ios5 如何从TableViewController传递数据(选定/单击的单元格值)';将s单元格(详细信息)加载到下一个ViewController?,ios5,uitableview,Ios5,Uitableview,我有一个TableViewController,它有多个单元格(详细信息披露),每个单元格都与唯一的数据(例如标题/详细信息)关联。当我单击其中一个单元格时,会加载另一个ViewController(通过modal或push segue),并根据单击的单元格显示数据 简单的例子: TableViewController的每个单元格都与单独的URL关联。当我单击其中一个单元格(详细信息披露)时,包含WebView的下一个ViewController应打开与所单击单元格的url对应的网页 如何实现这

我有一个TableViewController,它有多个单元格(详细信息披露),每个单元格都与唯一的数据(例如标题/详细信息)关联。当我单击其中一个单元格时,会加载另一个ViewController(通过modal或push segue),并根据单击的单元格显示数据

简单的例子:

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


如何实现这一点?

首先,您需要设置每个序列的标识符(在故事板中,只需单击序列并在属性检查器中进行设置)

然后,在UITableViewController子类中,需要覆盖prepareForSegue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"yourSegueIdentifier"] ) {
        UIViewController *viewController = segue.destinationViewController;
        viewController.yourVariable = yourData;
    }
}

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

NSIndexPath *indexPath = tableView.indexPathForSelectedRow;
这将使您能够访问表中选定的行(单元格),以便知道用户选择了哪个项目


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

但是如何获取依赖于所单击单元格的数据呢。在-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath之前调用prepareForSeague,因此将在稍后向我们发送相关数据:(!