アプリ開発初心者でCoreDataを使い始めました。
*やりたいこと*
UITextViewのテキストをCoreDataを使って保存させ、UILabelに表示させたいです。
*現状*
saveButtonを初めに押した際のテキストは保存され、UILabelにも表示させることは出来ました。
ですが、その後UITextViewのテキストを空にし、初めとは異なるテキストを入力したものは保存・表示させることが出来ません。
saveButtonを何度押しても、テキストを新規保存・表示させるようにするにはどうしたらいいでしょうか?
//保存するためのコード
var ent01:[entityName] = []
var con01 = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
@IBAction func saveButton(_ sender: Any) {
let ent001 = entity(context: self.con01)
ent001.text = UITextView.text
self.ent01.append(ent001)
(UIApplication.shared.delegate as! AppDelegate).saveContext()
}
//読み込みのためのコード
func readData() -> String {
var ret = ""
let appDelegate: AppDelegate = (UIApplication.shared.delegate as! AppDelegate)
let context: NSManagedObjectContext = appDelegate.persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "entity")
request.returnsObjectsAsFaults = false
do {
let results: Array = try context.fetch(request)
if (results.count > 0 ) {
let obj = results[0] as! NSManagedObject
let txt = obj.value(forKey: "Attribute") as! String
print ("READ:(txt)")
ret = txt
}
} catch let error as NSError {
print("READ ERROR:(error.localizedDescription)")
}
return ret
}
始めたばかりで勉強不足ですが、何かアドバイス頂けますと幸いです。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。