Требует ли NSIncrementalStoreNode updateWithValues ​​для аргумента "значения" только измененные значения или полная новая копия данных?

Я зову:

- (void)updateWithValues:(NSDictionary *)values
                 version:(uint64_t)version

в подклассе NSIncrementalStore, чтобы обновить кэш с обновлением значений NSManagedObject. Мой вопрос касается values аргумент. Мне нужно только вставить обновленные атрибуты или полную новую копию данных?

Описание в документации гласит: "Обновите значения и версию, чтобы отразить новые данные, сохраняемые или загружаемые из внешнего хранилища. // Словарь значений находится в том же формате, что и инициализатор".

Мне не ясно, относятся ли "значения", которые "отражают новые данные", только к обновленным атрибутам или ко всем атрибутам в объекте.

1 ответ

Решение

Требуются полные данные. Я согласен, что это было не очень понятно, но я полагаю, причина в том, что вы можете сначала разрешить конфликт. Раздражает то, что нет способа вернуть значения из узла, чтобы объединить новые и установить их заново. Досадно, что это означает, что вы не можете использовать узел в качестве объекта кеша, я все еще изучаю NSIncrementalStore, так что, вероятно, в какой-то момент причина этого дизайна станет ясна.

Другие вопросы по тегам