Swift Concurrency - MainActor
๐๐ปUI ์ ๋ฐ์ดํธ๋ ๊ผญ ๋ฉ์ธ ์ค๋ ๋์์ ์งํ๋์ด์ผ ํฉ๋๋ค๐๐ป ๊ทธ๋ ๊ธฐ์ ์ฐ๋ฆฌ๋ ์๋์ผ๋ก ์ฒ๋ฆฌํ๋ค๋ฉด DispatchQueue.main.async์ ๊ฐ์ด ๋ํํ์ฌ UI ์ ๋ฐ์ดํธ๋ฅผ ๋ค๋ค์ค ์ ์์์ต๋๋ค. Actor๋ผ๋ ๊ฐ๋ ์ด ๋์ค๊ณ MainActor๋ฅผ ํตํด ์ค์ ์ด๋ฌํ ๋ณ๋ ์์ ์์ด ํญ์ ๋ฉ์ธ ํ์์ ์ ๋ฐ์ดํธ ๋ ์ ์๋๋ก ์๋์ผ๋ก ๋์คํจ์น๋ฅผ ์์ผ์ฃผ๊ณ ์์ต๋๋ค. UILable์ด๋ UIViewController์ ์ ์ธ์ ๋ณด๋๋ผ๋ ์ด์ @MainActor ์์ฑ์ด ๋ถ์ด ์๋๊ฑธ ํ์ธํ ์ ์์ต๋๋ค. ์ฆ, Swift Concurrency๋ฅผ ์ฌ์ฉํ ๋ ํด๋น ํด๋์ค์ ๋ชจ๋ ์์ฑ๊ณผ ๋ฉ์๋๊ฐ ๋ฉ์ธ ํ์์ ์๋์ผ๋ก ์ค์ ๋ฐ ํธ์ถ/์ ๊ทผ ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋์ด์์ ์๋์ ์ธ ๋์คํจ์นญ์ ํ์์๊ฒ ๋์์ต๋๋ค๐ ๋น์ฐํ๊ฒ๋ ์ปค์คํ ํ UI ๊ด๋ จ ํด๋์ค๋ฅผ ๋ง๋ค๋๋ ์ถฉ๋ถํ ์ @MainActor๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค๐บ๐ป ์ด์ ์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ UI ์ ๋ฐ์ดํธ๋ฅผ ํธ์ถํ๋ ์ค์๋ ์ค์ด๋ค๊ฒ ๋ค์๐