2010-11-30 6 views
2

저는 마침내 핵심 데이터를 작동시키고 이해하기 시작했습니다. 지금까지 핵심 데이터가 활성화 된 창 기반 앱에서 재생 중이며 앱 위임 파일 내부에서 재생했습니다.다른보기의 managedObjectContext

하지만 UIView 하위 클래스가있는 경우와 같이 앱 대행자 외부에서 managedObjectContext에 어떻게 액세스 할 수 있습니까?

희망을 보내 주시면 감사하겠습니다.

+0

[NSManagedObjectContext 및 기타 서비스 클래스를 iphone/ipad 탭에서 공유] 가능한 복제본 (http://stackoverflow.com/questions/3437033/sharing-nsmanagedobjectcontext-and-other-service-classes-between-iphone-ipad- tabs) – willcodejavaforfood

+0

또한 managedObjectContext를 UIView 하위 클래스와 공유하기 전에 두 번 생각해야한다고 언급 할 가치가 있습니다. UIView는 본질적으로 뷰이며 데이터 모델을 직접 처리하지 않아야합니다. 컨텍스트 참조를 다른보기 컨트롤러에 전달한 다음 특정 관리 대상 개체의 참조를보기로 전달하지만 실제 컨텍스트는 전달하지 않을 것입니다. – Rog

답변

3

경고를 제거하는

[[[UIApplication sharedApplication] delegate] managedObjectContext]; 

를 사용해보십시오, 실제 AppDelegate에로 대리자를 던져; 예를 들어,

NSManagedObjectContext *context = [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext]; 

편집 :

당신이 어떤 데이터를 변경 한 후에는 저장해야합니다. 사용 방법은 다음과 같습니다.

NSManagedObjectContext *moc = [self managedObjectContext]; 

NSError *error; 
if (![moc save:&error]) { 
    NSLog(@"Couldn't save current data in current method."); 
} 

적합하다고 판단되는 로그 문구를 변경하십시오.

+0

어 오. 더 심층적 인 테스트를 거친 후에는 응용 프로그램이 수행하는 동안 데이터 만 처리됩니다. 응용 프로그램을 종료하고 다시 열면 데이터가 사라집니다. 아이디어?! –

+0

내 편집 코드를 사용해보십시오. 작동해야합니다! –

+0

데이터 저장 문제가 다음과 같이 나타났습니다. http://stackoverflow.com/questions/4326303/datepicker-stopping-coredata-work –

관련 문제