Open8
[Scrap] SwiftData を試す
SwiftData
WWDC23 で発表された SwiftData というやつを試していきたい。
試す動機
アプリの要件によっては(例えば Mac/iOS 両対応のツールアプリ等)、CoreData を使ってiOSネイティブ開発したかった場合もあったが、CoreData なり CloudKit なりに対して複雑で面倒そうな印象を待っていた。
お手軽になっていることを期待しつつ、感触を確かめたい。
せっかくなので、まずは WWDC の動画を見ていく。
- 見てる感じ、Swift 版の ORM って感じ
- SwiftData で扱いたい struct に
@Model
をつける。 -
@Attribute
で unique など DB っぽいが指定できる。
- SwiftData で扱いたい struct に
- Model Cantainer というのが永続化層になるとのこと
- ModelContext でデータの CRUD 全般を扱うとのこと
- SwiftUI 側から簡単に使う方法が用意されてるっぽい。
- Preview とどう連携するのか気になるな
- ObservbableObject に
@Model
つけれるの熱いかも - SwiftUI の modifier 使うと、View ごとに必要な分だけ modelContainer がつくられるらしい。
- Core Data との連携の話がなくて少し不満があったけど、Document ベースのアプリを簡単に作れるのは結構便利かも。