Avatar
Avatar
koher
// これは問題ない 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)
MVVM と withAnimation の相性が悪いのは同意です。 ただ、その例の場合って if let imageData = viewModel.imageData { Image(UIImage(data: imageData)!) .animation(.easeInOut) } とかでいけません? (あるいはカスタムの AnyTransition を作っておくなど) (edited)