Sowohl die Mac OS X und iPhone OS, kann man einfach und direkt Zugriff auf das Verzeichnis - ganz wichtig - das System, das sind:
1 2 3 | NSHomeDirectory Gibt den Pfad zum aktuellen Benutzer-Verzeichnis. Gibt den Pfad zu einem gegebenen Basisverzeichnis des Benutzers NSHomeDirectoryForUser. NSTemporaryDirectory Gibt den Pfad des temporären Verzeichnisses für den aktuellen Benutzer. |
Hier ist der Code benötigt, um sie zu benutzen:
1 2 3 4 5 6 7 8 9 10 11 | / / Hauptverzeichnis homePath = NSHomeDirectory ( ) ; NSString * NSHomeDirectory HOMEPATH = (); tempPath = NSTemporaryDirectory ( ) ; NSString * TempPath NSTemporaryDirectory = (); userPath = NSHomeDirectoryForUser ( NSUserName ( ) ) ; NSString * = userPath NSHomeDirectoryForUser (NSUserName ()); "homePath = %@" , homePath ) ; NSLog (@ "HOMEPATH =% @", HOMEPATH); "tempPath = %@" , tempPath ) ; NSLog (@ "TempPath =% @", TempPath); "userPath = %@" , userPath ) ; NSLog (@ "userPath =% @", userPath); / / HOMEPATH = / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905 / / = TempPath / private/var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/tmp / / / = UserPath / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905 |
Hinweis: Sie haben bemerkt, Linie 4, der Aufruf
NSUserName(), die "current user" zurück
Es gibt also eine Reihe von anderen "Ordner", die wir zugreifen können. Diese können durch Aufruf der Funktion erhalten NSSearchPathForDirectoriesInDomains() übergeben als Eingänge eine Reihe von Konstanten. Zum Beispiel können wir den Ordner Dokumente auf diese Weise zu erhalten:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | paths = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory, NSUserDomainMask, YES ) ; NSArray * Wegen = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); "paths = %@" , paths ) ; NSLog (@ "Wege =% @", Wege); / / Paths = ("/ var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/Documents") / / Ordner Dokumente documentsPath = [ paths objectAtIndex : 0 ] ; NSString * DokumentenPfad = [Wege objectAtIndex: 0]; "documentsPath = %@" , documentsPath ) ; NSLog (@ "DokumentenPfad =% @", DokumentenPfad); / / = DokumentenPfad / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/Documents / / Oder ... documentsDirectory = [ NSHomeDirectory ( ) stringByAppendingPathComponent : @ "Documents" ] ; NSString * documentsDirectory = [NSHomeDirectory () stringByAppendingPathComponent: @ "Documents"]; "documentsDirectory = %@" , documentsDirectory ) ; NSLog (@ "documentsDirectory =% @", documentsDirectory); / / = DocumentsDirectory / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/Documents |
Hinweis: In diesem letzten Fall, beachten Sie die Verwendung von
stringByAppendingPathComponent, dass "verkettet" Documents auf den Weg, den Schrägstrich hinzufügen
NSSearchPathForDirectoriesInDomains() liefert immer ein Array von Strings, obwohl in Fällen maggiornaza Elemente nur eins sind. Wenn Sie genau die Ausgabe aussehen paths in der Tat, ist in Klammern angegeben, dh ein Array. Im ersten Fall ist mit dem ersten Element extrahiert [paths objectAtIndex:0] .
Ressourcen
delle applicazioni Mac è “virtuale”, per non dire fittizia. Das Objekt durch NSBundle , stattdessen greifen wir auf die Ressourcen-Ordner von einer Anwendung, wie Sie wissen, die Erweiterung .app Mac-Anwendungen ist "virtuell", wenn nicht fiktiv. Tatsächlich verbirgt sie eine Art "Ordner" mit allen notwendigen Ressourcen in der Anwendung selbst, einschließlich der ausführbaren Datei selbst! ![]()
1 2 3 4 5 | / / Application appFolderPath = [ [ NSBundle mainBundle ] resourcePath ] ; NSString * appFolderPath = [[ NSBundle mainBundle] resourcePath]; "appFolderPath = %@" , appFolderPath ) ; NSLog (@ "appFolderPath =% @", appFolderPath); / / = AppFolderPath / var/mobile/Applications/54A1A3C9-322E-4C23-B096-45869B0332A5/MyApp.app |
Auflisten des Inhalts eines Ordners (Browsing)
Die File Management, durch das Objekt verwaltet NSFileManager , verwendet, um viele nützliche Operationen durchzuführen:
- Erstellen von Verzeichnissen und Dateien
- Kopieren, Verschieben und "link" Dateien und Verzeichnisse
- Vergleichen von Dateien und Verzeichnissen
- Getting Inhalt des Verzeichnisses
- und mehr ...
Zum Beispiel ...
1 2 3 4 5 6 7 8 9 10 11 | / / Verzeichnis homePath = NSHomeDirectory ( ) ; NSString * NSHomeDirectory HOMEPATH = (); fileManager = [ NSFileManager defaultManager ] ; NSFileManager FileManager * = [ NSFileManager defaultManager]; "La cartella %@ contiene = %@" , homePath, [ fileManager directoryContentsAtPath : homePath ] ) ; NSLog (@ "Der Ordner enthält% @ =% @", HOMEPATH, [FileManager directoryContentsAtPath: HOMEPATH]); / / Der Ordner / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905 / contains = ( / / Dokumente, / / Library / / "MyApp.app" / / Tmp / /) |
Bonus
Im Hinblick auf die Informationen "user" können:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | / / FullUserName fullUserName = NSFullUserName ( ) ; NSString * fullUserName NSFullUserName = (); "fullUserName = %@" , fullUserName ) ; NSLog (@ "fullUserName =% @", fullUserName); / / = Mobile User fullUserName / / NSUserName userName = NSUserName ( ) ; NSString * Benutzername = NSUserName (); "userName = %@" , userName ) ; NSLog (@ "username =% @", username); / / UserName = mobile / / NSHomeDirectoryForUser directoryForUser = NSHomeDirectoryForUser ( userName ) ; NSString * directoryForUser NSHomeDirectoryForUser = (username); "directoryForUser = %@" , directoryForUser ) ; NSLog (@ "directoryForUser =% @", directoryForUser); / / = DirectoryForUser / var/mobile/Applications/DFD6AED2-6B14-4515-8DCD-2AF6F6C2E00C |
Ich überlasse es Ihnen, die "Unterschiede" zwischen der Verwendung des Simulators und das Gerät ausprobieren.










[...] Sehr kurze Auszug: Apple iPhone-Dateisystem auf Mac OS X und iPhone OS, kann man einfach und direkt Zugriff auf das Verzeichnis - ganz wichtig - das System, das sind: PLAIN TEXT CODE: NSHomeDirectory Gibt den Pfad zum aktuellen Benutzer-Verzeichnis. Gibt den Pfad zu einem gegebenen Basisverzeichnis des Benutzers NSHomeDirectoryForUser. Blog: undolog | Weiterlesen [...]