質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Core Data

Core DataはAppleのOS X and iOSのためのオブジェクトモデリングと持続性を持ったフレームワークです。Xcodeはエンティティー、属性そして関係性を特定するためのオブジェクトモデルの編集機能を提供します。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

1125閲覧

SwiftでAlertのtext Fieldに記入した内容をCore Dataに格納したい

tasmicsy

総合スコア13

Core Data

Core DataはAppleのOS X and iOSのためのオブジェクトモデリングと持続性を持ったフレームワークです。Xcodeはエンティティー、属性そして関係性を特定するためのオブジェクトモデルの編集機能を提供します。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/11/26 01:27

編集2021/11/26 01:33

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}"
)}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問