여러보기를 통해 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;
같은 라인하지만 난 얻을 오류 재산권 내가
MyTabBarController.h
에 선언 된 속성이 할 경우에도 형 MyTabBarController의 객체를 찾을 수 없습니다 'MOC'수 누군가가 MOC를 탭 막대 컨트롤러로 밀어 넣을 수있는 코드 줄을 보여줍니다.BTW- 내가 이걸 처리해야하는 방식을 변경하면이 앱에서 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];
공지 사항 세 번째 줄에서 할당과 두 번째 줄에 대신의 UIViewController의 MyTabBarViewController를 사용합니다. 다시 큰 감사합니다 rdelmar!
와우, 감사합니다 rdelmar 정확하게 작동하는 방법. 나는 그날 밤 (질문을 게시하기 전에) 그 블록의 두 번째 줄에있는 똑같은 라인을 (다른 많은 것들과 함께) 사용해 보았다. 내가 실패한 곳은 첫 번째 줄에 "MyTabBarController"하위 클래스가 아닌 UIViewController 클래스를 사용하는 것입니다! 나는 나를 위해 그것을 명백하게하기위한이 감사에 꽤 새로울 것이다! – Ben