Ios 标识在情节提要应用程序中单击的单元格

Ios 标识在情节提要应用程序中单击的单元格,ios,objective-c,iphone,uitableview,storyboard,Ios,Objective C,Iphone,Uitableview,Storyboard,如何识别已单击的单元格。此后,我希望保存该行中存储的记录,并在另一个viewcontroller中导航和显示这些值 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 这是我正在使用的一个故事板应用程序,您能告诉我如何从中完成这项工作吗 在此之前,我使用以下方法来标识单击的单元格,然后通过使用indepath我能够获取已选择的记录,以便导航到其他viewcon

如何识别已单击的单元格。此后,我希望保存该行中存储的记录,并在另一个viewcontroller中导航和显示这些值

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
这是我正在使用的一个故事板应用程序,您能告诉我如何从中完成这项工作吗

在此之前,我使用以下方法来标识单击的单元格,然后通过使用
indepath
我能够获取已选择的记录,以便导航到其他viewcontroller

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

如何在故事板环境中做到这一点。我正在使用
segue
导航。

您确实有两种选择

1) 在情节提要中,在单元和目标视图控制器之间创建分段。这将在您单击单元格时自动触发segue

2) 执行您正在执行的操作,并使用
performsguewithidentifier
自己调用segue。在这种情况下,您需要在序列图像板中从源控制器绘制到目标控制器

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
在这两种情况下,您都需要在
prepareforsgue
中为目标控制器配置目标控制器要显示的数据。理想情况下,使单元格具有属性,这些属性要么是数据模型的索引,要么是对它们在表中作为视图的数据的引用


在方法1)中,发送方将是
prepareforsgue
中的单元格。在方法2)中,发送方将是您在
info:
参数中传递的任何内容。

您希望使用
sender
参数获取单元格,然后使用对tableView的引用获取indexPath。在本例中,我使用self.tableView:

you have to set a segue from your firstVc to second VC 
Then do
//In your secondVc.h
@property (weak, nonatomic)  UILabel *someLabel;
//In firstViewController.m
in didselectRowAtIndexPath call
[self performSegueWithIdentifier:@"seguename" sender:nil];
and add this method
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([[segue identifier] isEqualToString:@"segueName"]){
    NSIndexPath *indexPath = [tablename indexPathForSelectedRow];
   secondViewController *destViewController = segue.destinationViewController;
    destViewController.someLabel = [arrayName objectAtIndex:indexPath.row];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    UITableViewCell *cell = (UITableViewCell *)sender;
    NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
    // Get model object related to index path and pass it to next VC
}

我不相信故事板可以用于你想要的目的,它没有那么聪明。查看此链接。这可能会对你有所帮助,但是,我如何获取该行的内容并将其传递给下一个viewcontroller?你应该向单元格中添加一个属性,该属性包含数据的索引或数据的引用。在
CreateCellForRowatineXpath
中,创建单元格时,分配属性。然后在您的
prepareforsgue
中可以提取它。最简单的属性是分配indexPath。如果在推送过程中选择了行,也可以在PrepareForSequedRow中使用
[self.tableView indexPathForSelectedRow]