SwiftUI .taskと.onAppear

2021年7月14日

.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()
}

SwiftSwift

Posted by shi-n