Derzeit ist ich die Speicherung des Dateipfades eines Bildes im Verzeichnis Dokumente durch den Verzeichnispfad zu schaffen und das Bild in dieses Verzeichnis zu schreiben, wie so:Wie aktualisiert man den Dateiverzeichnispfad eines Bildes in Swift 3.0?
func createDirectory() -> String
{
let fileManager: FileManager = FileManager.default
let dirPaths: [URL] = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
let docsDir: URL = dirPaths[0]
let appDirPath = docsDir.appendingPathComponent("MyApp").path
do
{
try fileManager.createDirectory(atPath: appDirPath,
withIntermediateDirectories: true, attributes: nil)
}
catch let error as NSError
{
print("Error: \(error.localizedDescription)")
}
return appDirPath
}
func getPath() -> String
{
let paths: [String] = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory: String = paths[0].appending("/MyApp")
return documentsDirectory
}
func saveToDocuments()
{
let fileManager: FileManager = FileManager.default
let imageData: Data = UIImageJPEGRepresentation(globalImage, 1.0)!
let dateTime: Date = Date()
let formatter: DateFormatter = DateFormatter();
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss";
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
globalTimeStamp = formatter.string(from: dateTime);
globalTimeStamp = globalTimeStamp(of: " ", with: "_")
globalTimeStamp = globalTimeStamp + ".jpg"
let documentsPath: URL = try! fileManager.url(for: .documentDirectory, in: .userDomainMask,
appropriateFor: nil, create: false)
let imagePath: URL = documentsPath.appendingPathComponent("MyApp/" + globalTimeStamp)
let path = imagePath.path
let success = fileManager.createFile(atPath: path as String, contents: imageData, attributes: nil)
}
Die timeStamp
stellt die Bildnamen, die angehängt werden der Pfad des Verzeichnisses meiner App und in die Datei geschrieben, wie mit createFile
angezeigt.
Meine Frage ist, wenn ich wollte die globalTimeStamp
woanders in meiner App aktualisieren, wie kann ich den Dateipfad aktualisieren, um dieses SAME Bild-zu-Punkt stattdessen einen anderen Dateipfad neu erstellen zu müssen, die die Punkte SAME Bild?
Danke!