Community

Swift Concurrency - MainActor

๐Ÿ™‹๐ŸปUI ์—…๋ฐ์ดํŠธ๋Š” ๊ผญ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ ์ง„ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค๐Ÿ™‹๐Ÿป ๊ทธ๋ ‡๊ธฐ์— ์šฐ๋ฆฌ๋Š” ์ˆ˜๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด DispatchQueue.main.async์™€ ๊ฐ™์ด ๋ž˜ํ•‘ํ•˜์—ฌ UI ์—…๋ฐ์ดํŠธ๋ฅผ ๋‹ค๋ค„์ค„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Actor๋ผ๋Š” ๊ฐœ๋…์ด ๋‚˜์˜ค๊ณ  MainActor๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์ด๋Ÿฌํ•œ ๋ณ„๋„ ์ž‘์—…์—†์ด ํ•ญ์ƒ ๋ฉ”์ธ ํ์—์„œ ์—…๋ฐ์ดํŠธ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ž๋™์œผ๋กœ ๋””์ŠคํŒจ์น˜๋ฅผ ์‹œ์ผœ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. UILable์ด๋‚˜ UIViewController์˜ ์„ ์–ธ์„ ๋ณด๋”๋ผ๋„ ์ด์   @MainActor ์†์„ฑ์ด ๋ถ™์–ด ์žˆ๋Š”๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, Swift Concurrency๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•ด๋‹น ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๊ฐ€ ๋ฉ”์ธ ํ์—์„œ ์ž๋™์œผ๋กœ ์„ค์ • ๋ฐ ํ˜ธ์ถœ/์ ‘๊ทผ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋”์ด์ƒ์˜ ์ˆ˜๋™์ ์ธ ๋””์ŠคํŒจ์นญ์€ ํ•„์š”์—†๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค๐ŸŽ‰ ๋‹น์—ฐํ•˜๊ฒŒ๋„ ์ปค์Šคํ…€ํ•œ UI ๊ด€๋ จ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๋•Œ๋„ ์ถฉ๋ถ„ํžˆ ์š” @MainActor๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค๐Ÿ•บ๐Ÿป ์ด์ œ ์ ์  ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ UI ์—…๋ฐ์ดํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์‹ค์ˆ˜๋Š” ์ค„์–ด๋“ค๊ฒ ๋„ค์š”๐Ÿ˜„

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค