Требует ли NSIncrementalStoreNode updateWithValues для аргумента "значения" только измененные значения или полная новая копия данных?
Я зову:
- (void)updateWithValues:(NSDictionary *)values
version:(uint64_t)version
в подклассе NSIncrementalStore, чтобы обновить кэш с обновлением значений NSManagedObject. Мой вопрос касается values
аргумент. Мне нужно только вставить обновленные атрибуты или полную новую копию данных?
Описание в документации гласит: "Обновите значения и версию, чтобы отразить новые данные, сохраняемые или загружаемые из внешнего хранилища. // Словарь значений находится в том же формате, что и инициализатор".
Мне не ясно, относятся ли "значения", которые "отражают новые данные", только к обновленным атрибутам или ко всем атрибутам в объекте.
1 ответ
Требуются полные данные. Я согласен, что это было не очень понятно, но я полагаю, причина в том, что вы можете сначала разрешить конфликт. Раздражает то, что нет способа вернуть значения из узла, чтобы объединить новые и установить их заново. Досадно, что это означает, что вы не можете использовать узел в качестве объекта кеша, я все еще изучаю NSIncrementalStore, так что, вероятно, в какой-то момент причина этого дизайна станет ясна.