IOS에 익숙하지 않고 핵심 데이터에 대한 자습서를 작성하려고합니다. 다음 코드가 컴파일되었지만 충돌합니다. 중단 점은 아래의 오류를 보여 주지만 그것이 의미하는 것이나 해결 방법을 알 수는 없습니다.ios/xcode : NSManagedObjectContext에서 코어 데이터 오류 발생
다음managedObjectContext = (NSmanagedObjectContext *) nil
무엇 콘솔 프로그램입니다 : Tutorial. 다음은 여기에
- (void)viewDidLoad {
[super viewDidLoad];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity =[NSEntityDescription entityForName:@"FailedBankInfo" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
self.failedBankInfos = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
self.title = @"Failed Banks";
}
오류입니다 .. 코드입니다.
2015-01-14 19:28:50.084 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.086 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.087 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.088 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.093 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.094 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.094 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.094 coredata-wend[39693:1857624] Zip: 12345
2015-01-14 19:28:50.094 coredata-wend[39693:1857624] Name: Test Bank
2015-01-14 19:28:50.094 coredat
a-wend[39693:1857624] Zip: 12345
(lldb)
이 문제를 해결하는 방법에 대한 제안이 있으면 감사하겠습니다.
나는 당신이 의미하는 것을 이해할 수있는 지점에 이르지 못합니다. 이 프로젝트는 사과의 일반 마스터 세부 응용 프로그램에서 파생됩니다. 위의 링크 된 Ray Wenderlich는 응용 프로그램 위임 파일에 다음을 추가합니다. at-property (읽기 전용, 강력한, 비 원자) NSManagedObjectContext * managedObjectContext; _managedObjectContext로 .m 파일에서 합성됩니다. 다음은 메인보기 컨트롤러에도 있습니다 : at-property (비 원자력, 강함) NSManagedObjectContext * managedObjectContext; 이것은 관리되는 ObjectContext와 밑줄이없는 .m 파일에서 합성됩니다. 그게 문제가 될 수 있을까요? – user1904273
앱 위임자와 뷰 컨트롤러에 모두 'managedObjectContext'가있는 것 같습니다. 그러나 존재한다고 선언하는 것만으로는 충분하지 않습니다. 아마도 앱 위임의 어딘가에서 뷰 컨트롤러의 'managedObjectContext'를 앱 위임과 동일한 값으로 설정해야합니다. –
이 메서드는 응용 프로그램 대리인에 있습니다 .- (NSManagedObjectContext *) managedObjectContext { if (_managedObjectContext! = nil) { return _managedObjectContext; } NSPersistentStoreCoordinator * coordinator = [self persistentStoreCoordinator]; if (! 코디네이터) { return nil; } _managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext setPersistentStoreCoordinator : coordinator]; return _managedObjectContext; } 그러나 전화가 들리지는 않습니다. – user1904273