๋ชฉ๋ก๐Ÿ“ฑ๐ŸŽ iOS/๐Ÿ•Š Swift (15)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[Swift Language Guide] Concurrency (async/await, task, actor)

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/concurrency/ ์œ„ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ฒˆ์—ญํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋™์‹œ์„ฑ : ๋น„๋™๊ธฐ ์ž‘์—… ์ˆ˜ํ–‰ํ•˜๊ธฐ. ๋ณ‘๋ ฌ(parallel) ๋˜๋Š” ๋น„๋™๊ธฐ(asynchronous) ์ฝ”๋“œ๋Š” ๋ณต์žก๋„ ์ฆ๊ฐ€๋ผ๋Š” ๋น„์šฉ์„ ๊ฐ€์ ธ์˜จ๋‹ค. Swift์—์„œ๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„ ๊ฒ€์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ์ž์˜ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค - ์˜ˆ๋ฅผ ๋“ค์–ด actor๋ฅผ ์‚ฌ์šฉํ•ด mutable state์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. Swift๋Š” ์–ธ์–ด ์ˆ˜์ค€์—์„œ ๋น„๋™๊ธฐ ์ฝ”๋“œ์˜ ๋ฌธ์ œ๋ฅผ ์ปดํŒŒ์ผ ํƒ€์ž„์— ์žก์„ ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค. Swift์˜ ๋™์‹œ์„ฑ ๋ชจ๋ธ์€ ์“ฐ๋ ˆ๋“œ ์œ„์— ๊ตฌ์ถ•๋˜์ง€๋งŒ, ์“ฐ๋ ˆ๋“œ์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. completion handl..

[Swift Language Guide (5.7)] Structures and Classes ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค

[Swift Language Guide (5.7)] Structures and Classes ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค Structures and Classes - The Swift Programming Language (Swift 5.7) ๊ตฌ์กฐ์ฒด*์™€ *ํด๋ž˜์Šค ๋Š” ๋‹น์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋˜๋Š” ๋‹ค๋ชฉ์ ์˜ ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋“ค์ž…๋‹ˆ๋‹ค. ์ƒ์ˆ˜, ๋ณ€์ˆ˜, ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ์™€ ๊ฐ™์€ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋‹น์‹ ์˜ ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค์— ํ”„๋กœํผํ‹ฐ๋“ค๊ณผ ๋ฉ”์„œ๋“œ๋“ค์„ ๋”ํ•ด ๊ธฐ๋Šฅ์„ ๋”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ, Swift๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋„๋ก ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Swift์—์„œ๋Š”, ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ณ , ๊ทธ ๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค..