SwiftUI .taskと.onAppear
.taskと.onAppear
宣言
func onAppear(perform action: (() -> Void)? = nil) -> some View
func task(_ action: @escaping () async -> Void) -> some View
asyncの有無が差
onAppearにawaitは書けない。
下記コードはエラーになる。async{}で囲えば書けますが。
onAppearとtaskはonAppearが先にコールされる。(printで確認した結果。)
.task { await self.music.withTeacks() } .onAppear { await self.music.withTeacks() }