Xcode15以降が必要。
まず、SwiftUIでプロジェクトを作成します。
1. import SwiftData
SwiftDataの機能を利用することを宣言。
2. @Model
データモデルを作成
@Model
class Person {3. .modelContainer(for: Person.self)
WindouGroupにこのモディファイアを追加し、アプリ内の何処でもSwiftDataが利用できるようにする。
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.modelContainer(for: Student.self)
}
}
}4. @Query
モデルコンテナから読み込む。
SortDescriptor, #Predicateなどを扱える。
この場合全てのPersonエンティティーが取得される。
import SwiftData
struct ContentView: View {
@Query var persons: [Person]
var body: some View {
}
}
5. @Environment(\.modelContext) var modelContext
実際に保存するために必要。
import SwiftData
struct ContentView: View {
@Query var students: [Student]
@Environment(\.modelContext) var modelContext
var body: some View {
}
}6. modelContext.insert(person)
実際に保存するために必要。
func addPerson() {
let newPerson = Person(name: "YOSHIHIKO")
modelContext.insert(newPerson)
}


コメント