Snow Leopard führte viele neue Methoden ein, um NSURL-Objekte für die Bezugnahme auf Dateien, nicht für Pfadnamen oder FSRefs der Kerndienste zu verwenden.Dateiexistenz mit NSURL testen
Es gibt jedoch eine Aufgabe, für die ich keine URL-basierte Methode finden kann: Testen, ob eine Datei existiert. Ich suche nach einer URL-basierten Version von -[NSFileManager fileExistsAtPath:
]. Wie diese Methode sollte es YES
zurückgeben, wenn die URL irgendetwas beschreibt, sei es eine normale Datei, ein Verzeichnis oder irgendetwas anderes.
Ich könnte versuchen, verschiedene resource values nachschlagen, aber keine von ihnen sind explizit garantiert nicht zu existieren, wenn die Datei nicht, und einige von ihnen (z. B. NSURLEffectiveIconKey) könnte teuer sein, wenn es tut.
Ich könnte einfach NSFileManager fileExistsAtPath:
verwenden, aber wenn es eine modernere Methode ist, würde ich es bevorzugen, das zu verwenden.
Gibt es eine einfache Methode oder Funktion in Cocoa, CF oder Core Services, die garantiert/dokumentiert ist, um mir zu sagen, ob eine bestimmte Datei (oder Dateiverweis) URL verweist auf ein Dateisystemobjekt, das existiert?
Für alle iPhone OS Devs, die von dieser Antwort abgeworfen werden: 'checkResourceIsReachableAndReturnError:' ist nur in 10.6 und höher verfügbar und noch nicht im iPhone SDK verfügbar. –
Update: Es ist verfügbar ab iOS 4. –
Die iOS-Dokumentation in XCode 3.2.5 (die iOS 4.2 unterstützt) Status: "Diese Methode ist in iOS nicht implementiert, so dass es keine Operation ausführt." – Daniel