Je cherche un moyen de créer des fichiers séparés. Par exemple: J'ai une application qui a une forme telle que le nom, la date etc. et quand j'appuie sur la sauvegarde, je veux enregistrer toutes les informations dans cette forme de l'utilisateur dans un dossier. Chaque fois que le formulaire est rempli, je veux qu'un nouveau fichier soit créé pour chaque utilisateur. Le fichier sera sauvegardé dans le répertoire documents de l'application. Le nom du fichier doit provenir du champ de texte 'nom' du formulaire. J'ai regardé les moyens de créer des fichiers dans swift mais le nom de fichier est toujours codé en dur dans l'URL du chemin et chaque fois que le formulaire est rempli, l'information est sauvegardée sur le même fichier. Je ne veux pas faire ça. Toute solution ou conseil est apprécié, je n'arrive pas à trouver de solution à ce problème en ligne (seulement comment créer un fichier avec un nom de fichier codé en dur, ce que je suis déjà capable de faire).Création de fichiers séparés
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)
}
}
Ne codez pas le nom de fichier. Le nom du fichier doit provenir du 'nom' + 'date' + 'creationTime' du formulaire. Cela fera un nom de fichier unique. – luckyShubhra
nous montrez votre code de travail. Ce serait utile. – luckyShubhra
@luckyShubhra J'ai ajouté le code, il ne fonctionne pas correctement car il enregistre seulement la date mais n'enregistre pas le reste des informations du formulaire. S'il vous plaît supporter avec moi si des erreurs je suis un débutant. Merci – Aneesa