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