Xcode 13.1を使用しています。
Core data内に、title、doneを格納しようとしています。
title: String
done: Boolean
下記のように記載しますが、値が反映されません。どこで間違えてるのかご教授いただけますでしょうか。
何か不足している情報あれば追記致しますのでコメントいただけますと幸いです。
Swift
1 2 var context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext 3 4 @IBAction func addButtonPressed(_ sender: UIBarButtonItem) { 5 6 let alert = UIAlertController(title: "Add New Todoey Item", message: "", preferredStyle: .alert) 7 var textField = UITextField() 8 let newItem = Item(context: self.context) 9 10 11 alert.addTextField { (alertTextField) in 12 alertTextField.placeholder = "Create new item" 13 textField = alertTextField 14 15 } 16 17 let action = UIAlertAction(title: "Add Item", style: .default) { (action) in 18 19 print(textField.text ?? "no data") //入力内容が表示されます。 20 newItem.title = textField.text! 21 newItem.done = false 22 self.itemArray.append(newItem) 23 print(self.itemArray) // done, title共に表示されます。 24 self.saveItems() 25 self.tableView.reloadData() 26 27 } 28 29 alert.addAction(action) 30 present(alert, animated: true, completion: nil) 31 } 32 33 func saveItems(){ 34 35 do { 36 try context.save() 37 }catch { 38 print("失敗, (error)") 39 } 40 self.tableView.reloadData() 41 }
エラー文↓
失敗, Error Domain=NSCocoaErrorDomain Code=1560 "Multiple validation errors occurred." UserInfo={NSDetailedErrors=(
"Error Domain=NSCocoaErrorDomain Code=1570 "done is a required value." UserInfo={NSValidationErrorObject=<Todoey.Item: 0x600002393bb0> (entity: Item; id: 0x6000000d3100 x-coredata:///Item/t7781158B-18D5-43D0-BD1A-EF54475BCC923; data: {\n done = nil;\n title = nil;\n}), NSLocalizedDescription=done is a required value., NSValidationErrorKey=done, NSValidationErrorValue=null}",
"Error Domain=NSCocoaErrorDomain Code=1570 "title is a required value." UserInfo={NSValidationErrorObject=<Todoey.Item: 0x600002393bb0> (entity: Item; id: 0x6000000d3100 x-coredata:///Item/t7781158B-18D5-43D0-BD1A-EF54475BCC923; data: {\n done = nil;\n title = nil;\n}), NSLocalizedDescription=title is a required value., NSValidationErrorKey=title, NSValidationErrorValue=null}"
)}
あなたの回答
tips
プレビュー