[SwiftUI] publishing changes from background threads is not allowed async await 원인, 해결 방법
·
[Programming Language]/[SwiftUI]
[머릿말]테스트용으로 만든 서버에서 데이터를 받아와 앱에 띄우는 과정에서 이 경고를 마주하게 되었다.이와 관련해서 이전에 GPT에게 무언가를 물어봤을 때 데이터의 갱신은 Main Thread에서 이뤄져야 한다고 답했던 기억이 어렴풋 난다. Synchronous, Asynchronous는 중요한 개념이므로 이 기회에 잘 정리해보고자 한다. 1. Main Thread vs Background ThreadSwiftUI에서 모든 UI 업데이트는 Main Thread에서 이뤄진다. 만약 시간이 오래걸리는 작업(ex. 다운로드 작업)을 Main Thread에서 수행한다면 해당 작업이 완료될 때까지 Main Thread는 다른 작업을 수행할 수 없으므로 앱이 일시정지된 것처럼 보이게 되고, 이는 좋지 않은 사용자 경..