Мне нужно получить размер и дату последней модификации нескольких файлов, хранящихся локально в iOS (в частности, в каталоге temp). Файл ссылается NSURL
:NSFileManager.attributesOfItemAtPath vs USURL.getResourceValue для размера и даты изменения файла
let fileURL: NSURL = ...
Я нашел два способа сделать это:
NSFileManager.defaultManager().attributesOfItemAtPath(fileURL.path!)[NSFileSize]
и
var size: AnyObject?
fileURL.getResourceValue(&size, forKey: "NSURLFileSizeKey")
В чем разница между ними? Является ли еще один исполнитель, чем другой?
В моем случае я получаю URL-адреса файлов из 'NSFileManager.defaultManager(). ContentsOfDirectoryAtURL (tempDir, включаяPropertiesForKeys: [String](), options: [])', где tempDir - это NSURL.fileURLWithPath (NSTemporaryDirectory (), isDirectory: true) ', так что да, это начинается с NSFileManager –
Затем обновите значение параметра' includingPropertiesForKeys', чтобы включить фактические атрибуты файлов, которые вы хотите получить, используя 'getResourceValue'. Это будет более эффективно, чем использование 'attributesOfItemAtPath', поскольку у вас уже есть' NSURL' и может предварительно загрузить необходимые атрибуты. – rmaddy