Я знаю, что могу получить две части информации о файле iCloud: версию и дату последнего изменения. Вопрос в том, когда я имею дело с двумя файлами iCloud с одинаковыми именами, было бы лучше использовать версию или дату последнего изменения, чтобы выяснить, какой из них более поздний?
Мне кажется, что дата последнего изменения теоретически будет более точной, но я вижу много руководств, в которых говорится, что версия должна использоваться для сравнения двух файлов, чтобы определить, какой из них новее.
Я хотел бы знать, какая практика лучше и почему.
1 ответ
Дата последнего изменения хороша, если вы работаете на одном компьютере и системное время согласовано. Когда вы работаете с iCloud, у вас есть как минимум три системных времени, о которых нужно подумать - местное время как минимум на двух пользовательских устройствах, а также то, что сервер iCloud считает временем. Даже с NTP нет гарантии абсолютной синхронизации.
NSFileVersion
существует, чтобы обойти это - вы можете запросить у него последнюю версию файла, и он должен найти нужную. У него вполне могут быть свои ошибки, влияющие на точность результата, но он, по крайней мере, предназначен для того, чтобы дать вам правильный ответ независимо от синхронизации времени.
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.
NSFileVersion
при работе со сценарием, когда пользователь включает iCloud и определяет, нужно ли перезаписывать какие-либо файлы в iCloud, поскольку локальные файлы более новые (для файлов с соответствующими имена файлов)? Есть ли способ сравнить UTC-версииNSDate
в качестве альтернативы в этом случае?