2016-07-14 2 views
0

я получил следующие предикаты настройка:NSFetchedResultController не видит изменений в объекте «два отношения» прочь

fetchRequest.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [ 
    NSPredicate(format: "start >= %@", NSDate.init(timeIntervalSinceNow: 0).dateByRemovingTime()), 
    NSPredicate(format: "product.filter.enabled == %@", true) 
]) 

Субъект запрос выборки является Activity, который затем содержит продукт. Каждый продукт затем имеет фильтр, который либо включен, либо отключен.

Следует ли его перезагружать при изменении логического enabled?

Если нет: как я могу заставить его запускать? С willChangeValueForKey и didChangeValueForKey при изменении enabled?

+0

Вы искали дубликаты? есть много – Wain

+0

[это] (http://stackoverflow.com/q/7533849/2446155), [это] (http://stackoverflow.com/q/4010334/2446155) и [это] (http://stackoverflow.com/a/12379824/2446155) –

ответ

0

NSFetchedResultController - это контроллер KVO, он может только смотреть, что данные ведьмы были выбраны в контроллере или вставлены после того, как контроллер был извлечен. Если вы обновляете данные, которых нет в контроллере или обновляете данные отношений данных, контроллер не будет вызывать делегат или KVO. Существует проблема с сохранением проблемы: 1. В объекте вы можете добавить атрибут BOOL, например, hasChanged, если данные отношения были изменены, а затем измените «hasChanged». 2. Вы можете добавить KVO по данным отношений

 Смежные вопросы

  • Нет связанных вопросов^_^