1

내가 같은 응용 프로그램의 위임에서 그것을 말해 읽고 가이드 및 자습서의 모든 :ManagedObjectContext를 전달할 수있는 적절한 방법입니까?

UINavigationController *navController = (UINavigationController *)self.window.rootViewController; 
PictureViewController *picList = (PictureViewController *)[[navController viewControllers] lastObject]; 
picList.managedObjectContext = self.managedObjectContext; 

하지만, 내보기 컨트롤러 컨테이너 뷰 컨트롤러와 네비게이션 뷰 컨트롤러의 미친 계층 구조입니다. 이것은 또한 아무 불쾌한 결과없이 목표보기 컨트롤러에서 그것을 수행하는 허용 가능한 방법입니까?

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
self.managedObjectContext = appDelegate.managedObjectContext; 

답변

1

간단히 말해서, 예. 두 가지 방법 모두 좋습니다. 저는 위임자로부터 직접 액세스하는 사람들의 예를 보았고 뷰 컨트롤러에 ivar로 저장하지 않았습니다. 대부분의 경우와 선호도는 위에서 수행 한 것과 같습니다.

concurrency 호를 존중하는 한 괜찮을 것입니다.

+0

위대한, 그냥 대답을 찾고, 감사합니다. 할 수있을 때 받아 들일 것입니다. –

관련 문제