Avatar
Avatar
koher
実際には僕もstructに変換して扱うことが多いですが、SwiftDataの設計思想的にはViewから直接使うことを意図していると思うんですよね。なので、その可能性は探りたいなぁと思っています。↑で書いたAPIのキャッシュとしてSwiftDataを使って、ViewはSwiftDataだけ見るのは結構うまく動きそうな気はするんですよね。 あと、昔はModelSendableにしづらいのを気にしてましたが、最近は無理にSendableにしなくてもいいよなという気持ちになっています。MainActorのConcurrency Domainから持ち出さなければいいだけなので。Swift 6.2でnonisolated(nonsending)が使えるようになって、nonisolated asyncな関数・メソッドでもMainActor contextを引き継げるようになったので、non-Sendableな型も扱いやすくなったのもあります。 というわけで、おすすめできるレベルではないですが、個人的には可能性を感じている感じです。
↑で書いたAPIのキャッシュとしてSwiftDataを使って、ViewはSwiftDataだけ見るのは結構うまく動きそうな気はするんですよね。
読み込みはViewからSwiftData直接は良さそうですよね。 書き込みの場合、例えば入力フォームがあって、バリデーションして、永続化する場合、どう接続しようかちょっと困るのですが、その場合は、②でやるか、①にするなら入力フォーム用のstructを新しく作るのがいいですかね...? 🤔