我有一个带有多个单元格(详细信息披露)的TableViewController,每个单元格都与唯一数据相关联(例如标题/细节)。当我单击其中一个单元格时,另一个ViewController被加载(通过模态或推送segue)并应根据单击的单元格显示数据。
简单例如:
TableViewController的每个Cell都与单独的url相关联。当我单击其中一个单元格(详细信息公开)时,包含WebView的下一个ViewController应该打开与单击的单元格的URL对应的网页。
我们如何实现这一目标?
答案 0 :(得分: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;
}
}
答案 1 :(得分:1)
访问数据的一种方法是在prepareForSegue方法中使用以下内容:
NSIndexPath *indexPath = tableView.indexPathForSelectedRow;
这将使您可以访问表格的选定行(单元格),以便了解用户选择的项目。
然后使用prepareForSegue方法提取您需要的任何数据并将其传递到目标视图控制器,如另一个答案所示。