SwiftUIで行こう! - 簡単にCore Data!
簡単に使ってみましょう!@FetchRequest と FetchedResultsを使って連携できるようです。
単純にデータを記録、保存することのみやってみましょう。以下参考サイト。
まず大事なことが新しいプロジェクトを作るときに
Use Core Data
にチェックを入れること。これ、大事です。完成すると以下となります。
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リストの作り方は参考サイトを見ながら以下で紹介しています。