2012-11-19 3 views
0

기존 데이터베이스를 코어 데이터로 미리로드하는 방법에 대한 자습서를 따르고 있습니다. 인식 할 수없는 선택 전송 : -코어 데이터에 데이터 미리로드

는 다음과 같은 오류를 반환
NSEntityDescription *entity = [NSEntityDescription insertNewObjectForEntityForName:@"FailedBankInfo" inManagedObjectContext:context]; 

: 2012년 11월 19일 12 : 45 : 02.247 CoreDatTutorial2 [2049 403] [FailedBankInfo subentitiesByName] 나는이 선에 도달 할 때까지 코드는 잘 컴파일 인스턴스로 0x100301010 '

내가 비어 있지 않은지 확인하고 제품 디렉토리에 저장했는지 확인했습니다. 내가 뭘 잘못하고 있는거야? 해당 코드 행을 주석 처리하면 프로젝트는 문제없이 컴파일됩니다.

여기에 코드의 나머지 부분입니다 :

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription insertNewObjectForEntityForName:@"FailedBankInfo" inManagedObjectContext:context]; 
    [fetchRequest setEntity:entity]; 
    NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; 
    for (FailedBankInfo *info in fetchedObjects){ 
    { 

답변

2
insertNewObjectForEntityForName:inManagedObjectContext: 

새 관리되는 개체를 생성하고 관리하는 개체 컨텍스트에 삽입합니다. 특히, FailedBankInfo (귀하의 경우)의 객체를 반환하며 NSEntityDescription은 반환하지 않습니다.

entityForName:inManagedObjectContext:을하는 NSEntityDescription 만들 사용하려면 (아이폰 OS 5.0로 시작하는) 것을

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"FailedBankInfo" 
           inManagedObjectContext:context]; 
[fetchRequest setEntity:entity]; 

참고하면

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"FailedBankInfo"]; 
이를 단순화 할 수 있습니다
관련 문제