我有许多视图控制器,我通过子视图上定义的属性传递对象并在推送之前分配。我期望后续视图上对象的任何更改都会反映在父视图上,并最终反映在我的主视图控制器上,从链开始。因此,该对象必须作为新实例在视图控制器之间复制,而不是通过引用(指针)传递。
代码示例... [为清楚起见,此代码使用 UIPopoverController]
SurveyListTableViewController *surveyList = [[SurveyListTableViewController alloc] init];
surveyList.surveys = self.surveys;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:surveyList];
surveyPopoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
另一个代码示例... [此示例有一个核心数据托管对象“计划”正在传递]
UIStoryboard *storyboard = mainCanvasViewController.storyboard;
AddPlanViewController *addPlanViewController = [storyboard instantiateViewControllerWithIdentifier:@"AddPlanViewController"];
addPlanViewController.plan = [NSEntityDescription insertNewObjectForEntityForName:@"Plan" inManagedObjectContext:self.managedObjectContext];
[self.navigationController pushViewController:addPlanViewController animated:YES];
无论如何我可以强制通过引用/指针而不是值/副本传递吗?还是我需要完全不同的方法?...
提前谢谢了。迈克尔。