하나의 속성이있는 하나의 엔터티가 포함 된 간단한 XCDataModel이 있습니다. 본질적으로, 나는 일련의 날짜를 저장하고있다.핵심 데이터 삭제 실패 * 쉬운 수정? *
는 지금, 나는 내가 그렇게 같은 결과를 통해를 추가 한 후 요청을 가져오고 실행하는 실행 때문에 제대로 NSDates를 추가하고 알고 :
for (NSManagedObject *info in fetchedObjects) {
NSLog(@"Name: %@", [info valueForKey:@"attribute"]);
}
그리고 모든 추가있는 NSDate를 차지한다. 로그에서 예 : 내가 코어 데이터에서 개체를 삭제하려고하면
2012-06-19 12:40:38.531 Arts Days[47194:16103] Name: 2013-03-27 04:00:00 +0000
2012-06-19 12:40:38.531 Arts Days[47194:16103] Name: 2013-03-01 05:00:00 +0000
2012-06-19 12:40:38.532 Arts Days[47194:16103] Name: 2013-01-01 05:00:00 +0000
이제, 그것은 (같은 인출 실행하고 다시 결과를 통해 실행하여) 실패 증명한다. 또한
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entity" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:366];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
NSError *error = nil;
[fetchRequest setSortDescriptors:sortDescriptors];
NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *object in fetchedObjects) {
if ([[object valueForKey:@"date"] isEqualToDate:date]) {
[managedObjectContext deleteObject:object];
}
}
if (![managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
, 해결되지 않은 오류가있는 NSLog가 전무 전무 포함 ...
당신이 내가 잘못하고있는 중이 야 뭔지 알아 : 여기
은 페치?
이것이 모두 당신의 코드라면, fetchRequest와 fetchObjects가 비어있는 (실제로는 nil) fetchRequest로 실제로 가져 오지는 않을 것입니다. – gschandler
나는 그 라인을 우연히 떠났다. – achi
코드를 디버깅 해 봤어? 예상대로 실행 중입니까? – Dima