如何使用 didSelectRowAtIndexPath 将变量从 uitableview 传递到第二个 tableview?
Posted
技术标签:
【中文标题】如何使用 didSelectRowAtIndexPath 将变量从 uitableview 传递到第二个 tableview?【英文标题】:How to pass variable from uitableview to second tableview using didSelectRowAtIndexPath? 【发布时间】:2012-08-09 06:12:33 【问题描述】:我想将变量从视图控制器传递到另一个视图控制器,这样当用户在第一个表视图中选择某一行时,应用程序会将他带到另一个视图控制器,其中所选项目的详细信息将出现。 这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
NSString *selectedAuthors = [theauthors objectAtIndex:indexPath.row];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
Details *dvController = [storyboard instantiateViewControllerWithIdentifier:@"Details"]; //Or whatever identifier you have defined in your storyboard
dvController.selectedAuthors = selectedAuthors;
UIAlertView *messageAlert = [[UIAlertView alloc]
initWithTitle:@"Row Selected" message:authorNAme delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
// Display Alert Message
authorNAme = [[NSString stringWithFormat:[theauthors objectAtIndex:indexPath.row]] intValue];
[messageAlert show];
[self.navigationController pushViewController:dvController animated:YES];
selectedAuthors 是一个字符串 authorName 是一个全局变量,我想在其中存储所选行的内容。 任何帮助将不胜感激。
【问题讨论】:
dv.selectedAuthors = selectedAuthors;
您已经将“数据”传递给第二个视图控制器。您应该在详细信息视图控制器中显示基于 selectedAuthors 的详细信息。
请查看链接,它会告诉你具体问题:***.com/questions/11897149/…
【参考方案1】:
我看到你正在使用故事板。
在这种情况下,要将信息发送到您必须实现的下一个视图控制器
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
每次将要执行 segue 时都会调用此方法。 例如,在 didSelectRowAtIndexPath 中,您可以将行的信息保存在字典中,并在 prepareForSegue 方法中将其传递给下一个视图控制器。
有关详细信息,您可以查看 Apple 的名为 SimpleDrillDown 的示例项目。它做你需要做的同样的事情: http://developer.apple.com/library/ios/#samplecode/SimpleDrillDown/Introduction/Intro.html
【讨论】:
作为 Xcode 的新手,我已经尝试过这个建议,但它没有用..你能给我一个 sn-p plz。非常感谢 请查看此链接:***.com/questions/11897149/… 您是否尝试过我推荐给您的项目?如果你有,但它不起作用,请更新你的问题,以便我能看到问题所在。【参考方案2】: NSString *titleString = [[[NSString alloc] initWithFormat:@"Element number : %d",indexPath.row] autorelease];
这是用于发送变量的最简单的函数,它突然出现了!对于迷路的人来说,这是最好的功能!!
【讨论】:
以上是关于如何使用 didSelectRowAtIndexPath 将变量从 uitableview 传递到第二个 tableview?的主要内容,如果未能解决你的问题,请参考以下文章