내용을 표시하기 위해 테이블 뷰를 사용하여 핵심 데이터 자습서를 완성하고 재 작성했습니다. 그러나 테이블 뷰없이 뷰에서 가져 오기를 통해 엔티티에 액세스하려고합니다. 다음과 같은 가져 오기 코드를 사용했지만 반환 된 수는 항상 0입니다. SQLite 도구를 사용하여 데이터베이스를 열면 데이터가 존재합니다.핵심 데이터 혼란 : 테이블 뷰없이 가져 오기
NSManagedObject *entryObj;
XYZDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Quote" inManagedObjectContext:managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"id" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[request setEntity: entity];
NSArray *results = [managedObjectContext executeFetchRequest:request error:nil];
if (results == nil) {
NSLog(@"No results found");
entryObj = nil;
}else {
NSLog(@"results %d", [results count]);
}
[request release];
[sortDescriptors release];
반환되는 계수는 항상 0입니다. 그것이어야합니다.
누구나 나 tableview와 함께 사용되지 않는 컨트롤러를 만드는 방법에 관한 참조 또는 자습서를 가리킬 수 있습니다.
난 당신의 제안을 시도했습니다. 출력 된 오류는 코드가 실행중인 클래스의 이름입니다. 정렬 설명자없이 동일한 작업을 수행 할 때 "잘못된 주소"오류가 발생합니다. 결과에 관계없이 내가 "count : 0"을 반환하려고합니다. 이 경우에 coredata를 구현하는 추가 방법이 필요한지 궁금합니다. 참고로, 나는 읽기만하고 추가/삭제/업데이트를 시도하지 않습니다. –
코드를 시도했지만 결과는 동일합니다 (결과 : 0). "견적"엔티티에 액세스하는 데 필요한 전부입니까, 아니면 누락 된 항목입니까? –
마지막으로 수정했습니다. 시뮬레이터는 sqlite 데이터베이스가 추가 된 다른 폴더를 만들었습니다. 스위칭 데이터베이스는 그것을 고쳤습니다. 결국 코드가 정확했습니다. 도와 주셔서 감사합니다. –