我有一个Uitableview单元格已成功填充字典数组。现在,我很难将选定的单元格值传递给另一个视图控制器并显示该值。
这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"Tapped: %@",[[feeds objectAtIndex:indexPath.row]objectForKey:@"IncidentNumber"]);
someProperty = [[feeds objectAtIndex:indexPath.row]objectForKey:@"IncidentNumber"];
[self performSegueWithIdentifier:@"item" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if ([[segue identifier] isEqualToString:@"yourSegue"])
{
DescriptionViewController *vc;
vc = segue.destinationViewController;
vc.item_pass = someProperty;
}
}
答案 0 :(得分:3)
您执行带有标识符项的segue,但稍后在prepareForSegue
中检查标识为 yourSegue 的segue ...
答案 1 :(得分:0)
而不是实现didSelectRowAtIndexPath
将segue连接到表视图单元(而不是视图控制器)。
然后,所选单元格在sender
中作为prepareForSegue
参数传递,您可以使用
let selectedIndexPath = tableView.indexPathForCell(sender as! UITableViewCell)!