見出し画像

SwiftUIで行こう! - 簡単にCore Data!

簡単に使ってみましょう!@FetchRequest と FetchedResultsを使って連携できるようです。

単純にデータを記録、保存することのみやってみましょう。以下参考サイト。

画像1

まず大事なことが新しいプロジェクトを作るときに

Use Core Data

にチェックを入れること。これ、大事です。完成すると以下となります。

画像2

CoreDataTest.xcdatamodeld

拡張子が".xcdatamodeld"のファイルが作られますので、ここにデータの名称、どんなデータかを入れていきます。今回は"id""name"を作っています。この"id"と"name"ですが、"Student"と名前をつけています。CoreDataでは"Entities"と呼びます。データベースのフィールドの定義、テーブルの作成する場合の定義づけします。

これでデータを入れるところを作ったのであとはデータを入れるタイミング、データを入れる場所を作っていきます。

ContentView.swiftファイルを編集していきます。

まず必要な変数ですが

   @Environment(\.managedObjectContext) var moc
   
   @FetchRequest(entity: Student.entity(), sortDescriptors: []) var students:
   FetchedResults<Student>

2つの変数が必要です。そして、表示部分ですが表の形でデータを入れていきます。

var body: some View {
       VStack{
           List{
               ForEach(students,id: \.id){student in
                   Text(student.name ?? "unKown")
                   
               }
           }
           
           Button("add"){
               let student = Student(context: self.moc)
               student.id = UUID()
               student.name = "Taro"
               try? self.moc.save()
               
           }
       }
   }


以下のサイトも参考になります。削除の方法も紹介されています。

ToDoリストの作り方は参考サイトを見ながら以下で紹介しています。


この記事が気に入ったらサポートをしてみませんか?