Ich muss die Größe und das Datum der letzten Änderung von mehreren Dateien erhalten, die lokal in iOS gespeichert werden (speziell das temporäre Verzeichnis). Die Datei wird von einem NSURL
verwiesen:NSFileManager.attributesOfItemAtPath vs USURL.getResourceValue für Dateigröße und Änderungsdatum
NSFileManager.defaultManager().attributesOfItemAtPath(fileURL.path!)[NSFileSize]
und
var size: AnyObject?
fileURL.getResourceValue(&size, forKey: "NSURLFileSizeKey")
Was ist der Unterschied zwischen den beiden:
let fileURL: NSURL = ...
ich zwei Weg, dies zu tun gefunden habe? Ist einer mehr performant als der andere?
In meinem Fall bekomme ich die Datei-URLs von 'NSFileManager.defaultManager(). ContentsOfDirectoryAtURL (tempDir, einschließlichPropertiesForKeys: [String](), Optionen: [])', wobei tempDir 'NSURL.fileURLWithPath (NSTemporaryDirectory (), isDirectory: true) ', also ja, es beginnt mit NSFileManager –
Dann aktualisieren Sie den 'includingPropertiesForKeys' -Parameterwert so, dass er die tatsächlichen Dateiattribute enthält, auf die Sie mit' getResourceValue' zugreifen wollen. Dies ist effizienter als die Verwendung von 'attributesOfItemAtPath', da Sie bereits eine' NSURL' besitzen und die benötigten Attribute vorab laden können. – rmaddy