2012-05-17 5 views
0

사용자 입력 양식이있는 앱을 만들고 있습니다. 이제는 스토리 보드를 사용할 때 초기 View Controller이고 APp Delegate에서 rootViewController를 설정하여 ViewController를 설정하면 걱정없이 데이터를 저장합니다.핵심 데이터 - 초기 화면이 아닌 입력 화면이 있습니까?

다른 ViewController에 앱을 시작하고 입력 양식에 대한 버튼 링크가있는 경우 양식을 채울 수 있지만 저장을 누르면 문제의 엔터티를 찾을 수 없다고 알려줍니다.

아래 코드는 appDelegate.m 파일의 코드이며 데이터 입력을 처리하는 VC로 설정된 순간입니다. 현재 주석 처리 된 ViewController가 루트가되고 AddDataVC에 버튼을 저장하면 엔터티를 찾을 수 있도록 설정하려고합니다.

나는 CoreData 코드가 데이터를 저장할 수 있기 때문에 괜찮다고 확신하지만 입력 폼이 초기 ViewController가 아닌 경우에만 충돌이 발생합니다. 사전에

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
// Override point for customization after application launch. 

AddDataVC *addDataVC = (AddDataVC *)self.window.rootViewController; 
addDataVC.managedObjectContext = self.managedObjectContext; 
//ViewController *controller = (ViewController *)self.window.rootViewController; 
//controller.managedObjectContext = self.managedObjectContext; 
return YES; 
} 

감사

:-) - 편집 - 나는 콘솔에서 오류를 붙여 넣은 아래

:

2012-05-17 23:46:37.288 SW_Vault[26604:15203] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'Product'' 

--edit 2 -

그래, 내가 설명하려고하는 것은 이것입니다. 유틸리티 응용 프로그램과 같은 템플릿을 사용하면 엔터티를 만들고 textField 및 저장 단추를 설정하고 데이터를 저장하면됩니다. 이미지가 스토리 보드에서 벗어났습니다. 단 1 VC가 얼마나 주목하며 초기보기입니다 :

enter image description here

하지만 초기 뷰 컨트롤러와 같은 다른 VC이있을 때 그것은 엔티티를 찾을 수 없다는 오류와 함께 제공됩니다. 위에서 설명한 오류가 있습니다.

enter image description here

은 이제 항목보기의 코드가 변경되지 않은,하지만 당신은 처음 보면 - (BOOL) 내가 2 rootViewControllers 중에서 선택할 수 있습니다이 질문에 게시, 난 그냥 한 개를 언급해야 다른 것을 사용하는 것.

이제 두 번째 이미지에서 두 번째 VC를 해당 보드에서 초기 VC로 만들면 문제가 없습니다. Segue를 통해 도착할 때만 문제가됩니다.

나는

+1

:-) 답을 설명하는 대신 실제 오류 메시지를 표시하시기 바랍니다 있어요. –

+0

내 질문에 오류를 추가했습니다 - 감사합니다 –

답변

0

좋아 나는

내가 설정으로 작동시킬 수있는 SEGUE했다

:-) 질문에 대한 답을 가지고있다.나는 여기에 질문을이

Ray Wenderlich Forums

+1

답장을 보내 주셔서 감사합니다. 답이 맞으면 답을 표시하십시오. 감사. –

0

오류가 당신이 아마 Product를 정의하는 관리 개체 모델을로드하지 않는 것을 의미합니다 :-) 그게 더 의미가 있기를 바랍니다.

코드 (어쩌면 AppDelegate) 어딘가에 이것을 피하려면 코어 데이터 스택을 설정해야합니다.

자세한 내용은 this stackoverflow post을 읽어 보시기 바랍니다.

+0

미안 해요, 내가 모든 것을 확인하고 기지로 coredata를 가지고있는 유틸리티 템플릿을 기반으로 새 프로젝트를 열었 - 그 템플릿은 textfields, 또는 어떤 입력이 있다고 가정합니다 , 초기 화면에있을 것입니다. 나는 그들이 다른 사람에게 나타나기를 바라고있다. –

+0

@ jwk82 죄송 합니다만 귀하의 질문을 이해할 수 없습니다. 자세한 내용을 제공해 주시겠습니까? * 다른 이들에게 나타나길 원합니다. * 그러면 * 창은 어떨까요? xib 파일로 생성합니까? 감사. –

+0

문제가 무엇인지 설명하기 위해 몇 가지 이미지로 질문을 업데이트했습니다. 추신 : 회신을 기다리며 유감스럽게 생각합니다. 잠을 잘 잤습니다 :-) –

관련 문제