[FIXED] Überprüfen Sie, ob die Datei unter URL statt Pfad existiert

Ausgabe

Wie kann ich überprüfen, ob eine Datei unter einer URL (anstelle eines Pfads) vorhanden ist, um einen vorbelegten Standardspeicher im iPhone-Simulator festzulegen:

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Food.sqlite"];
/*
 Set up the store.
 For the sake of illustration, provide a pre-populated default store.
 */
NSFileManager *fileManager = [NSFileManager defaultManager];
// If the expected store doesn't exist, copy the default store.
if (![fileManager fileExistsAtPath:storePath]) {
    NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Food" ofType:@"sqlite"];
    if (defaultStorePath) {
        [fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
    }
}

Ich habe gelesen, dass die applicationDocumentsDirectory-Methode in neueren Versionen der Vorlagen eine URL zurückgibt, also habe ich den Code so geändert, dass er NSURL-Objekte verwendet, um den Dateipfad darzustellen. Aber bei [fileManager fileExistsAtPath:storePath]muss ich fileExistsAtPathin etwas wie ändern fileExistsAtURL(offensichtlich existiert es nicht).

Ich habe die NSFileManager-Klassenreferenz überprüft und keine geeignete Aufgabe für meinen Zweck gefunden.

Irgendwelche Hinweise bitte?

Lösung

if (![fileManager fileExistsAtPath:[storeURL path]]) 
...

Aus der Dokumentation :

Enthält dieses URL-Objekt eine Datei-URL (wie mit isFileURL ermittelt), eignet sich der Rückgabewert dieser Methode zur Eingabe in Methoden von NSFileManager oder NSPathUtilities. Wenn der Pfad einen abschließenden Schrägstrich hat, wird er entfernt.


Beantwortet von –
Mundi


Antwort geprüft von –
Candace Johnson (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like