To save text data in a text file, first create the path of the text file. Here, create a textFile.txt file in the Documents folder of your home directory and save the text data. Get the path to your home directory with NSHomeDirectory.
viewController.swift
let path = NSHomeDirectory() + "/Documents/textFile.txt"
Since saving the file may fail, it is necessary to incorporate it into error handling with do --try --catch.
If automatically is set to true, the file will be saved using a temporary file so that the file will not be damaged even if there is an abnormal termination during writing.
viewController.swift
let textData = textView.text
do {
//Try to save text data
try textData?.write(tofile: path, automatically: true, encoding : String.Encoding.utf8)
print("success")
} catch let error as NSError{
//Executed when try fails
print("Failed to save: \(error)" )
}
The path of the file to be read is the same as the path of saving. Incorporate into error handling with do --try --catch as when saving
viewController.swift
do {
//Try to read text data
let texData = try String(contentOfFile: path, encoding: String.Encoding.utf8)
textView2 = textData
print("success")
} catch let error as NSError{
//Executed when try fails
textView2.text = "Failed to read:\(error)"
print("Read failure: \(error)" )
}
viewController.swift
//Make a file manager
let fileManager = FileManager.default
//Suspend if the specified file does not exist
guard (fileManager.fileExists(atPath: path) == true) else { return }