3 일 동안 키보드를 상대로 머리를 두드려보고 연구하고 시도하는 방법을 알아 냈습니다. 나는 다음 문제를 해결할 수있다. -> 내비게이션 컨트롤러 - 메인 뷰 컨트롤러에>두 뷰 사이에 네비게이션 컨트롤러가있을 때 appDelegate에서 첫 번째 ViewController로 managedObjectContext를 전달하는 방법
초기 앱 시작 화살표 :
나는 다음과 같습니다 스토리 보드를 가지고있다.
내 appDelegate가 managedObjectContext를 만들고 일부 엔티티에 데이터를 채 웁니다. atm 만 테스트하면 외부 소스와 통합 할 준비가되면 제거됩니다. 이 작업은 훌륭합니다. 이제 내 문제는 탐색 컨트롤러가 작동하기 때문에 appDelegate에서 첫 번째 ViewController로 MOC를 전달할 수있는 방법을 모르겠다는 것입니다. appDidFinish 방법에 내 현재 코드는 다음과 같습니다
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Pass the managed object context to the root view controller
MainMenuViewController *rootView = (MainMenuViewController *)self.window.rootViewController;
rootView.managedObjectContext = self.managedObjectContext;
//My actual Core data setup and adding data to it, it works I've tested it.
return YES;
}
이제 내 코드가 스토리 보드에서 앱 시작 화살표가 내 mainMenuViewController를 가리 키도록 어디 변경할 때 작동하지만, 그러나 나는 모든 내 탐색 모음을 잃지 않는 것보다 내 견해. 또한 내 메인 메뉴에서 MOC를 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
을 통해 다른보기로 전달하는 방법을 알고 있지만 appDelegate에서 MainViewController로 초기 패스를 수행하는 방법을 알아낼 수 없습니다. 두.
나는 이미이 사이트 (및 기타)의 수많은 스레드를 검색했으며 "탭 응용 프로그램"에 대한 솔루션을 찾았지만 다른 사람들은 객체를 직렬화하기를 원하지만 내 용도로는 할 수 없습니다. 그. (몇 가지보기 만이 MOC를 수신하고 다른보기는 고유보기에서 특정 목적에 맞게 작성되고 변경된 데이터를 전달합니다)
iOS 및 Objective-C에서이 nub에 대한 도움은 크게 있습니다. 고맙습니다. 미리 감사드립니다.
편집 : 내가 오류입니다 "로 인해 캐치되지 않는 예외에 응용 프로그램을 종료 ... [UINavigationController가 setManagedObjectContext] 알 수없는 선택은 ... 인스턴스에
철자를 잘못 입력했을 가능성이 있습니까? 당신은 setManagedObjectCOntext에 capitol O를 가지고 있습니다. 아마도 setManageObjectContext 여야합니다. 나는 단지 보지 못했던 단순한 오타 때문에 발생한 문제를 해결하기 위해 수 시간을 보냈다. 그 일은 일어났다. .. –
포럼에이 유형이 있었는데, 내 코드가 컴파일되고 실행되므로 그렇게되지 않았다. 그것이 실행되면 충돌을 감안할 때 : ( – user597608