我想将视图控制器中的变量传递给另一个变量,这样当用户在第一个表视图中选择某一行时,应用程序会将他带到另一个视图控制器,其中所选项的详细信息将在出现。 这是我的代码:
- (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是一个全局变量,我想在其中存储所选行的内容。 任何帮助将受到高度赞赏。
答案 0 :(得分:1)
我发现你正在使用故事板。
在这种情况下,要将信息发送到下一个视图控制器,您必须实现
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
每次要执行segue时都会调用此方法。 例如,在didSelectRowAtIndexPath中,您可以将行的信息保存在dictionnary中,并将其传递给prepareForSegue方法中的下一个视图控制器。
有关详细信息,您可以查看Apple的名为SimpleDrillDown的示例项目。它做了同样的事情你需要做: http://developer.apple.com/library/ios/#samplecode/SimpleDrillDown/Introduction/Intro.html
答案 1 :(得分:-1)
NSString *titleString = [[[NSString alloc] initWithFormat:@"Element number : %d",indexPath.row] autorelease];
这是用于发送变量的最简单的函数,它无处不在!对于任何失去的人来说,这是最好的功能!!