Я использую NSArrayController
Связывание для заполнения NSTableView
из базовых данных. NSArrayController
подключен к mainQueueConcurrencyType
контексту управляемого объекта (основного управляемого объекта).
Родитель основного контекста управляемого объекта - privateQueueConcurrencyType
(фоновый контекст управляемого объекта). Вызов сохранения в главном контексте управляемого объекта приведет к внесению изменений в фоновый контекст управляемого объекта, а сохранение в фоновом контексте управляемого объекта сохранит в постоянном хранилище.
Prepares contents
и Editable
включены в xib для NSArrayController
Таблица основных данных:
Путь
Дата
Статус
У меня есть уникальные ограничения, добавленные к пути.
Иногда NSArrayController
не удаляет удаленный объект из упорядоченного объекта после сохранения основных данных.
[context performBlock:^{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"entity" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"path ==%@", path];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
SyncStatusEntry *syncStatus = [fetchedObjects firstObject];
NSInteger status = syncStatus.status.integerValue;
context deleteObject:syncStatus];
[context save:nil];
// Sometimes NSArrayController still have this object
}];
Может кто-нибудь помочь мне?