我正在嘗試傳遞managedObjectContext(MOC)通過多個視圖的「傳遞接力棒」方法。我已將它成功傳遞給rootViewController。從那裏我通過presentViewController
移動到tabBarController。當我推送tabBarController時,我似乎無法找到通過MOC的方法。通過presentViewController傳遞managedObjectContext
AppDelegate.m
UIViewController *navigationController = (UIViewController *)self.window.rootViewController;
MyViewController *controller = (MyViewController *) navigationController;
controller.managedObjectContext = managedObjectStore.mainQueueManagedObjectContext;
的主視圖控制器基本上是一個啓動畫面會踢你進入登錄界面,或者如果您已經登錄到tabBarController。以下是我從viewDidAppear
方法轉換到tabBarController的地方。
MyViewController.m
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
UIViewController *mainTabVC = [storyboard instantiateViewControllerWithIdentifier:@"mainTabVC"];
[mainTabVC setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:mainTabVC animated:NO completion:nil];
的tabBarController在故事板具有標識符 「mainTabVC」。
我已經試過線,如
MyTabBarController.managedObjectContext = self.managedObjectContext;
,但我得到的錯誤屬性「MOC」的類型MyTabBarController的對象沒有找到,即使我確實有MyTabBarController.h
聲明的特性都可有人向我展示一行代碼,我可以在這段代碼中將這些代碼推送到標籤欄控制器。
順便說一句,我在這個應用程序中使用RestKit,如果這改變了我應該處理的方式,請讓我知道。
** * **解決方案* ** * ****
爲了使事情對同一個問題的任何其他新人清晰。我從這個去:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
UIViewController *mainTabVC = [storyboard instantiateViewControllerWithIdentifier:@"mainTabVC"];
[mainTabVC setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:mainTabVC animated:NO completion:nil];
要這樣:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
MyTabBarViewController *mainTabVC = [storyboard instantiateViewControllerWithIdentifier:@"mainTabVC"];
mainTabVC.managedObjectContext = self.managedObjectContext;
[mainTabVC setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:mainTabVC animated:NO completion:nil];
請注意,在第三行的分配,在第二行中使用MyTabBarViewController而不是UIViewController中。 BIG再次感謝rdelmar!
哇,謝謝rdelmar工作正是我需要它。我花了整整一個晚上(在發佈問題之前)嘗試在該塊的第二行中完全相同的行(以及其他許多行)。我失敗的地方是在第一行使用UIViewController類而不是我的「MyTabBarController」子類!我非常感謝這一點,因爲這對我來說很明顯! – Ben 2013-05-03 23:29:30