У меня возникли проблемы с пониманием того, какие у меня есть варианты для объединения двух или более противоречивых версий UIDocument
, хранящихся в iCloud. После обнаружения конфликта документов я в настоящее время использую removeOtherVersionsOfItemAtURL
, чтобы просто сохранить последнюю версию данных документа. Однако я хотел бы поддержать слияние противоречивых документов.iOS: Как я могу объединить конфликтующие UIDocument в iCloud?
Единственные ресурсы и учебники, которые я нашел, относятся к Core Data и постоянным хранилищам для слияния, а в примерах используются такие вещи, как SQLite
, которые я не использую. В моем случае каждый документ представляет собой отдельный файл.
Фон: Мое приложение использует пользовательские подклассы NSObject
(с соответствующими свойствами) для хранения данных. Они кодируются и декодируются (с использованием NSCoding
+ NSKeyedArchiver/NSKeyedUnarchiver
) внутри UIDocument
. Я настроил приложение для работы с iCloud. Он может делать файлы повсеместными и наоборот, редактировать и удалять их.
Пожалуйста, помогите мне понять, что я могу сделать для слияния конфликтующих UIDocument's
!
как раз для того чтобы подтвердить, что нет возможности автоматически определить iOS как слить изменения? Я бы предположил, что может произойти некоторое замедление, если изменения нуждаются в программном слиянии ... – Anton
Нет, ваша структура документа может быть ** ничего **, iOS не может автоматически определить, как разрешать конфликты в произвольных данных коллекции. Если вы использовали Core Data, он мог бы попытаться разрешить каждое свойство. –