我使用下面的cod将数据从第二个视图控制器传递给第一个视图控制器 但它不起作用,出了什么问题?
- (IBAction)donePressed:(id)sender {
NSManagedObject *selectedGroup=[_group objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
ContactEditVC *firstViewController = [[ContactEditVC alloc] initWithNibName:@"ContactEditVC" bundle:nil];
firstViewController .data=[NSString stringWithFormat:@"%@",[selectedGroup valueForKey:@"gName"]];
firstViewController ._group=selectedGroup;
[firstViewController .mybutton setTitle:@"success" forState:UIControlStateNormal];
[self.navigationController popViewControllerAnimated:YES];
}
答案 0 :(得分:0)
您正在创建一个全新的视图控制器并设置该数据,而不是引用前一个视图控制器。
传回数据的最佳方法是委托方法,如下所示:https://stackoverflow.com/a/19343715/1066424
或者,如果您在设置上一个视图控制器的属性时设置了死机,您可以通过从导航控制器堆栈中取出它来引用它(但我强烈建议不强>这样做):
UIViewControllers *viewControllers = [[self navigationController] viewControllers];
ContactEditVC *firstViewController = (ContactEditVC *)viewControllers[[viewControllers count] - 2];
// do stuff with the firstViewController here