11 Stimmen

Überprüfen, ob eine Datei in Objective-C existiert

Ich habe die untenstehenden Codes verwendet, um zu überprüfen, ob eine Datei existiert

bool b=[[NSFileManager defaultManager] fileExistsAtPath:filePath];

Die Codes funktionierten auf iOS.

Aber als ich sie auf macOS X migrierte,

Als ich versuchte festzustellen, ob die Datei auf der Festplatte mit dem Pfad existiert, ergibt b immer 0, was bedeutet, dass die Datei nicht existiert.

Ich frage mich, ob es einen Unterschied zwischen iOS und macOS gibt

Ich freue mich über jegliche Kommentare

5voto

Marek Sebera Punkte 38545

Vom Docs denke ich, dass du Tilde mit Pfad verwendest

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/Reference/Reference.html#//apple_ref/occ/instm/NSFileManager/fileExistsAtPath:isDirectory:

Pfad

Der Pfad einer Datei oder eines Verzeichnisses. Wenn der Pfad mit einer Tilde (~) beginnt, muss er zuerst mit stringByExpandingTildeInPath erweitert werden, oder diese Methode gibt NEIN zurück.

Tilde macht den Pfad relativ zu deinem Startverzeichnis (wie z. B. /Users/username/)

du kannst herausfinden, indem du NSLog(@"%@",filePath); aufrufst, ob filePath vom Typ NSString ist

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X