2013-05-02 4 views
1

Сначала у меня есть файл plist в комплекте приложений. В какой-то момент файл может быть обновлен (загружен в папку «Документы»). Каков наилучший способ узнать, какой файл является более новым? Платформа mainbundle может обновиться с новой версией приложения, а затем загруженный будет самым старым. У меня есть временная метка внутри plist, но на самом деле я не хочу загружать каждую из них в память, чтобы сравнивать даты, так как каждый занимает 1-2 секунды. Есть ли какая-то дата создания, которую я мог бы сравнить?Сравнение даты создания/изменения объектов NSData

+0

1-2 секунды для загрузки plist? –

+0

с использованием NSPropertyListSerialization (NSData to NSDictionary) на iP4 – DanielR

+0

Я, честно говоря, не вижу необходимости в подобных файлах. Вы всегда можете просто добавить число в конец имени файла. Сделайте var n или что-то и для каждого файла, сделайте n ++. (EX: file1, file2, file3), какая из них самая высокая, является самой новой – user2277872

ответ

1

Как об этом:

NSError *error = nil; 
NSDictionary* dict = [NSFileManager attributesOfItemAtPath:path error:&error]; 
NSDate* date = [dict fileModificationDate]; 
0

Вы можете использовать -[NSFileManager attributesOfItemAtPath:error:] получить атрибуты файловой системы на уровне каждого списка свойств, а затем сравнить значения для даты модификации (с помощью NSFileModificationDate строковой константе).

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