나는 일반적으로 managedObjectContext
다음 코드를 사용하여 루트 뷰에 대해 설정합니다 AppDelegate.h
.
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
HomeViewController *controller = (HomeViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
그러나 내 현재 응용 프로그램에는 UITabBarController
루트에 사용자 정의가 포함되어 있고 a UINavigationController
와 UIViewController
. managedObjectContext
뷰 컨트롤러에를 어떻게 설정 합니까?
아주 비슷하게 할 수 있습니다
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
// index 0 means left-most tab
UINavigationController *navigationController = (UINavigationController *)tabController.viewControllers[0];
HomeViewController *controller = (HomeViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
또는 내가 선호하는 것 :
HomeViewController에서
#import "AppDelegate.h"
// somewhere (e. g. awakeFromNib, loadView or viewDidLoad)
self.managedObjectContext = ((AppDelegate *) [UIApplication sharedApplication].delegate).managedObjectContext
그리고 AppDelegate managedObjectContext
에서 공용 속성을 만드십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다