코어 데이터를 기반으로하는 응용 프로그램을 작성하고 있습니다. Item
에 가져 오기를하고 있습니다. 가져온 객체가 즉시 액세스 될 것이므로 반환 할 때 가져온 객체가 잘못되는 것을 원하지 않습니다. 따라서 returnsObjectsAsFaults
을 NO
으로 설정했습니다. 그러나, 그것은 나를 위해 작동하지 않습니다.NSFetchRequest setReturnsObjectsAsFaults : 작동하지 않습니다.
다음은 내 NSFetchedResultsController
을 설정하는 방법입니다.
NSString *cacheName = @"cache";
[NSFetchedResultsController deleteCacheWithName:cacheName];
NSManagedObjectContext *context = APPDELEGATE.managedObjectContext;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:context];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"dateCreated" ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[request setFetchBatchSize:20];
[request setReturnsObjectsAsFaults:NO];
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:context sectionNameKeyPath:nil cacheName:cacheName];
[request release];
NSError *error = nil;
BOOL result = [frc performFetch:&error];
if(!result){
NSLog(@"Unresolved core data error");
}
아이디어가 있으십니까?
업데이트 : 실제로 가져온 모든 개체는 오류입니다.
<_PFBatchFaultingArray 0x176f2bc0>(
<Item: 0x17613480> (entity: Item; id: 0x18ba3910 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p610> ; data: <fault>),
<Item: 0x18b832e0> (entity: Item; id: 0x176dda50 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p611> ; data: <fault>),
<Item: 0x18b97040> (entity: Item; id: 0x18b5f830 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p612> ; data: <fault>),
<Item: 0x18bd1d40> (entity: Item; id: 0x18bc2f30 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p613> ; data: <fault>),
<Item: 0x18b996c0> (entity: Item; id: 0x18b8f660 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p619> ; data: <fault>)
)
당신이 나를 위해 작동하지 않습니다 * 무엇을 의미합니까 우리를 설명 * –
어떤 로그/테스트 (CoreData 디버그 로그)를 가지고 있습니까 과도한 오류 표시? –
@flexaddicted 가져온 객체는 여전히 오류입니다. – Mindy