Ich bin auf der Suche nach einer Möglichkeit, separate Dateien zu erstellen. Zum Beispiel: Ich habe eine Anwendung, die ein Formular wie Name, Datum usw. hat und wenn ich Speichern drücke, möchte ich alle Informationen in dieser Form des Benutzers in eine Datei speichern. Jedes Mal, wenn das Formular ausgefüllt wird, möchte ich für jeden Benutzer eine neue Datei erstellen. Die Datei wird im Dokumentenverzeichnis der Anwendung gespeichert. Der Name der Datei sollte aus dem Textfeld 'name' des Formulars stammen. Ich habe nach Wegen gesucht, Dateien in swift zu erstellen, aber der Dateiname ist immer fest in der Pfad-URL geschrieben und jedes Mal, wenn das Formular ausgefüllt wird, wird die Information in der gleichen Datei gespeichert. Ich möchte das nicht tun. Jede Lösung oder jeder Rat wird geschätzt, ich kann online scheinbar keine Lösung finden (nur wie ich eine Datei mit einem fest codierten Dateinamen erstelle, was ich bereits machen kann).Erstellen separater Dateien
import UIKit
class FormViewController: UIViewController {
@IBOutlet weak var organdonationno: UITextField!
@IBOutlet weak var donorage: UITextField!
@IBOutlet weak var snodname: UITextField!
@IBOutlet weak var donorshospital: UITextField!
@IBOutlet weak var date: UITextField!
@IBOutlet weak var ID: UITextField!
var fileMgr: FileManager = FileManager.default
var docsDir: String?
var dataFile: String?
override func viewDidLoad() {
super.viewDidLoad()
let filemgr = FileManager.default
let dirPaths = filemgr.urls(for: .documentDirectory, in: .userDomainMask)
dataFile = dirPaths[0].appendingPathComponent("path").path
if filemgr.fileExists(atPath: dataFile!) {
let databuffer1 = filemgr.contents(atPath: dataFile!)
let databuffer2 = filemgr.contents(atPath: dataFile!)
let databuffer3 = filemgr.contents(atPath: dataFile!)
let databuffer4 = filemgr.contents(atPath: dataFile!)
let databuffer5 = filemgr.contents(atPath: dataFile!)
let datastring1 = NSString(data: databuffer1!, encoding: String.Encoding.utf8.rawValue)
let datastring2 = NSString(data: databuffer2!, encoding: String.Encoding.utf8.rawValue)
let datastring3 = NSString(data: databuffer3!, encoding: String.Encoding.utf8.rawValue)
let datastring4 = NSString(data: databuffer4!, encoding: String.Encoding.utf8.rawValue)
let datastring5 = NSString(data: databuffer5!, encoding: String.Encoding.utf8.rawValue)
organdonationno.text = datastring1 as? String
donorage.text = datastring2 as? String
snodname.text = datastring3 as? String
donorshospital.text = datastring4 as? String
date.text = datastring5 as? String
}
// Do any additional setup after loading the view.
}
@IBAction func savdata(_ sender: Any) {
let databuffer1 = (organdonationno.text)!.data(using: String.Encoding.utf8)
let databuffer2 = (donorage.text)!.data(using: String.Encoding.utf8)
let databuffer3 = (snodname.text)!.data(using: String.Encoding.utf8)
let databuffer4 = (donorshospital.text)!.data(using: String.Encoding.utf8)
let databuffer5 = (date.text)!.data(using: String.Encoding.utf8)
fileMgr.createFile(atPath: dataFile!, contents: databuffer1, attributes: nil)
fileMgr.createFile(atPath: dataFile!, contents: databuffer2, attributes: nil)
fileMgr.createFile(atPath: dataFile!, contents: databuffer3, attributes: nil)
fileMgr.createFile(atPath: dataFile!, contents: databuffer4, attributes: nil)
fileMgr.createFile(atPath: dataFile!, contents: databuffer5, attributes: nil)
}
}
Dateiname nicht harcodieren. Der Name der Datei sollte aus dem 'Name' + 'Datum' + 'creationTime' des Formulars stammen. Das macht einen eindeutigen Dateinamen. – luckyShubhra
zeigen Sie uns Ihren Arbeitscode. Es wäre hilfreich. – luckyShubhra
@luckySubhra Ich habe den Code hinzugefügt, es funktioniert nicht richtig, da es nur das Datum speichert, aber nicht den Rest der Informationen aus dem Formular speichert. Bitte ertragen Sie mit mir, wenn irgendwelche Fehler ich bin ein Neuling. Danke – Aneesa