2016-08-27 3 views
-1

navigationControllerに接続されているtab bar controllerがあります。navigationControllerを使用してtabobcontrollerからtabobcontrollerにmanagedobjectcontextを渡す際にエラーが発生しましたか?

navigationControllerは3 TableviewControllersに接続されています。問題は、managedobjectが正しく渡されないことです。私はNilとしてそれを持って、エラーメッセージは次のとおりです。アプリを終了

により、理由キャッチされない例外 「NSInvalidArgumentException」に「+ entityForName:nilのエンティティ名 を検索 法的NSManagedObjectContextパラメータではありません 『MyEntityName』

は、私は、tab bar controllerは私の3 TableviewControllersに直接接続し、managedObjectが正しく渡される私が間違っているの何任意のアイデアを持っていたnavigationControllerを追加する前に?

これはAppDelegateの私didFinishLaunchingWithOptionsコードです:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
    for (id viewController in [tabBarController viewControllers]) { 
     if ([viewController respondsToSelector:@selector(setManagedObjectContext:)]) { 
      [viewController setManagedObjectContext:self.managedObjectContext]; 
     } 
    } 

PS:あなたは私の問題を理解するためのコードの追加の個展に出せるが必要な場合、私はそれを投稿して喜んでいますよ。

答えて

0

私のコードをdidFinishLaunchingWithOptionsに変更して修正しました。私の新しいコードは:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
    NSArray *allTabs = tabBarController.viewControllers; 

    // Navigation Controller in the tab of BreakFasts 
    UINavigationController *navigationController = [allTabs objectAtIndex:0]; 
    MyTableViewController *controller1 = (MyTableViewController *)navigationController.topViewController; 
    controller1.managedObjectContext = self.managedObjectContext; 
です
関連する問題