サブビューで定義されたプロパティを介してオブジェクトを渡し、プッシュする前に割り当てるビューコントローラーがいくつかあります。後続のビューのオブジェクトへの変更が親ビューに反映され、最終的にチェーンが開始するメインのビューコントローラーに反映されることを期待していました。したがって、オブジェクトは新しいインスタンスとしてView Controller間でコピーする必要があり、参照(ポインタ)によって渡されないようにする必要があります。
コードサンプル... [わかりやすくするために、このコードはUIPopoverControllerを使用しています]
SurveyListTableViewController *surveyList = [[SurveyListTableViewController alloc] init];
surveyList.surveys = self.surveys;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:surveyList];
surveyPopoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
別のコードサンプル...[このサンプルには、CoreData管理対象オブジェクト「Plan」が渡されています]
UIStoryboard *storyboard = mainCanvasViewController.storyboard;
AddPlanViewController *addPlanViewController = [storyboard instantiateViewControllerWithIdentifier:@"AddPlanViewController"];
addPlanViewController.plan = [NSEntityDescription insertNewObjectForEntityForName:@"Plan" inManagedObjectContext:self.managedObjectContext];
[self.navigationController pushViewController:addPlanViewController animated:YES];
とにかく、値/コピーではなく参照/ポインターで強制的に渡すことができますか?または、完全に別のアプローチが必要ですか?...
よろしくお願いします。マイケル。