2017-09-06 31 views
0

Wie wird der Dateiname erhöht, wenn die Datei bereits existiert? Hier ist der Code, den ich verwende:Wie wird der Dateiname erhöht, wenn die Datei bereits existiert?

let count: Int = 1 
var newFileName = "" 

let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String 
let url = NSURL(fileURLWithPath: path) 
let filePath = url.URLByAppendingPathComponent("MyDoc.pdf").path! 
let fileManager = NSFileManager.defaultManager() 
if fileManager.fileExistsAtPath(filePath) { 
    print("FILE AVAILABLE") 
    newFileName = "MyDoc\(count).pdf" 

} else { 
    print("FILE NOT AVAILABLE") 
} 

MyDoc.pdf, MyDoc (1) .pdf, MyDoc (5) .pdf dann, wie zu erhöhen?

+0

gibt es irgendeine Art von Fehler! –

+0

Verwenden Sie eine 'while' Anweisung! –

+0

erkläre deine Frage! –

Antwort

0

eine while-Anweisung Verwenden Sie den Zähler zu erhöhen, bis Sie einen Dateinamen finden, die nicht genommen wird:

guard var filePath = url.URLByAppendingPathComponent("MyDoc.pdf").path else { 
    // force-unwrapping is not the answer! Handle error 
    return 
} 

let fileManager = NSFileManager.defaultManager() 

var counter = 0 

while fileManager.fileExistsAtPath(filePath) { 
    counter += 1 

    newFileName = "MyDoc(\(counter)).pdf" 
    let newURL = url.URLByAppendingPathComponent(newFileName) 

    guard let newPath = newURL.path else { 
     // Handle error (shouldn't happen anyway) 
     return 
    } 
    path = newPath // Try again... 
} 

Hinweis: ich diesen Code nicht versucht haben, zu kompilieren. Es könnte einige kleinere Fehler enthalten.

1

in diesem Code, den Sie jedes Mal erstellen MyDoc1.pdf

, wenn Sie jedes Mal neue PDF-Datei wollen, so dass Sie Anzahl der Datei erhalten (count) existiert an Ort und Schritt Anzahl der Datei (count) + 1

+2

Das liest sich wie ein mittelmäßiger Kommentar, nicht wie eine Antwort. – GhostCat

Verwandte Themen