0
Core Data
개체에 대한 취소/저장 동작을 구현해야합니다. 나는 NSFetchedResultsController
에서 데이터를 얻은 UITableView
을 가지고 있습니다. - 내가 코어에 결과를 저장하지 않고 컨트롤러를 기각 할 필요가 이 취소일부 경우에만 NSManagedContext 저장
- (void) configureWithCategoryItem: (CategoryItem *) categoryItem
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:[CategoryItem entityName]];
request.predicate = [NSPredicate predicateWithFormat:@"categoryId = %@", categoryItem.categoryId];
request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"title" ascending:YES]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:[CategoryItem defaultContext]
sectionNameKeyPath:@"title"
cacheName:nil];
[self.fetchedResultsController performFetch: NULL];
self.layers = [self categoryLayers];
self.sectionTitle = categoryItem.title;
}
마다 나는 두 개의 버튼을 가지고이 테이블보기
LayerItem *layerItem = [self.layers objectAtIndex:indexPath.row];
layerItem.isSelected = [NSNumber numberWithBool:YES];
에 그리고 탐색 줄에서 셀을 클릭 데이터, 저장 - 결과를 저장하고 컨트롤러를 닫아야합니다.
저장 방법은 이제 다음과 같습니다.
- (void) saveChanges
{
NSManagedObjectContext *localContext = self.fetchedResultsController.managedObjectContext;
if ([localContext hasChanges]) {
[localContext save: NULL];
[[NSNotificationCenter defaultCenter] postNotificationName:kEADatabaseWasUpdated object:nil];
}
}
이 동작을 구현하는 데 도움이되는 Core Data
에 악기가 있습니까?
별도의 NSManagedObjectContext
과 mergeChangesFromContextDidSaveNotification
을 사용하려고했지만 좋은 결과를 얻지 못했습니다 .. 도움을 기다리고 있습니다.