Hallo in die Runde,
ich habe einen einfachen Texteditor programmiert der mir in einer View den Inhalt einer *.txt Datei anzeigt.
Ich möchte, wenn eine Datei geöffnet wird, von dieser automatisch eine Sicherungskopie erstellen. Diese Datei bekommt die Dateiendung *.bak und wird im gleichen Verzeichnis gespeichert.
Ich wollte hier fragen, ob es zu meinem Code Verbesserungsvorschläge gibt (eventuell effizientere Wege) und wäre für jeden Hinweis sehr dankbar.
So sieht meine aktuelle Methode aus:
@IBAction func ladenClicked(_ sender: AnyObject) {
let meinOeffnenDialog = NSOpenPanel()
meinOeffnenDialog.title = "Öffnen"
meinOeffnenDialog.prompt = "Öffnen"
meinOeffnenDialog.allowedFileTypes = ["txt"]
if meinOeffnenDialog.runModal() == NSApplication.ModalResponse.OK {
let meineDatei = meinOeffnenDialog.url?.path
var neueDatei = NSString(string: meineDatei!)
neueDatei = neueDatei.deletingPathExtension as NSString
neueDatei = (neueDatei.appendingPathExtension("bak") as NSString?)!
let neueBakDatei: String = String(neueDatei)
do {
let textTemp = try String(contentsOfFile: meineDatei!, encoding: String.Encoding.utf8)
try textTemp.write(toFile: neueBakDatei, atomically: true, encoding: String.Encoding.utf8)
meinTextfeld.stringValue = textTemp
} catch {
print(error)
}
}
}
Lieben Gruß
ich habe einen einfachen Texteditor programmiert der mir in einer View den Inhalt einer *.txt Datei anzeigt.
Ich möchte, wenn eine Datei geöffnet wird, von dieser automatisch eine Sicherungskopie erstellen. Diese Datei bekommt die Dateiendung *.bak und wird im gleichen Verzeichnis gespeichert.
Ich wollte hier fragen, ob es zu meinem Code Verbesserungsvorschläge gibt (eventuell effizientere Wege) und wäre für jeden Hinweis sehr dankbar.
So sieht meine aktuelle Methode aus:
@IBAction func ladenClicked(_ sender: AnyObject) {
let meinOeffnenDialog = NSOpenPanel()
meinOeffnenDialog.title = "Öffnen"
meinOeffnenDialog.prompt = "Öffnen"
meinOeffnenDialog.allowedFileTypes = ["txt"]
if meinOeffnenDialog.runModal() == NSApplication.ModalResponse.OK {
let meineDatei = meinOeffnenDialog.url?.path
var neueDatei = NSString(string: meineDatei!)
neueDatei = neueDatei.deletingPathExtension as NSString
neueDatei = (neueDatei.appendingPathExtension("bak") as NSString?)!
let neueBakDatei: String = String(neueDatei)
do {
let textTemp = try String(contentsOfFile: meineDatei!, encoding: String.Encoding.utf8)
try textTemp.write(toFile: neueBakDatei, atomically: true, encoding: String.Encoding.utf8)
meinTextfeld.stringValue = textTemp
} catch {
print(error)
}
}
}
Lieben Gruß