withAnimation
って使いづらくないですか?たとえば、 ObservableObject
に適合した ViewModel が非同期的に状態を変更するようなときに withAnimation
を適用しようとすると、 ViewModel 側に withAnimation
書かないといけなくないですか? ViewModel に SwiftUI を漏れ出させたくないですが・・・。// これは問題ない if let isFoo = viewModel.isFoo { Text("Hello") } Button("Toggle Foo") { withAnimation { viewModel.isFoo.toggle() } }
// これはどうする? if let imageData = viewModel.imageData { Image(UIImage(data: imageData)!) } Button("Load Image") { viewModel.loadImage() // 非同期なのでここでは withAnimation で囲めない }
(edited)