๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

2021.12.18 ์˜ค๋Š˜์˜ ๋ฐฐ์›€

์˜ค๋Š˜ ํ•œ ์ผ.

  • ๋ผ์ธ, ์นด์นด์˜คํŽ˜์ด ์ž์†Œ์„œ ์ž‘์„ฑ
  • Swift ๋ฌธ๋‹ต ์ฑ„์šฐ๊ธฐ

์˜ค๋Š˜ ์ƒˆ๋กœ ๋ฐœ๊ฒฌํ•œ ๊ฒƒ.

  • autoreleasepool์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฐธ์กฐ ์นด์šดํŠธ์˜ ๊ฐ์†Œ๋ฅผ ๋ฆด๋ฆฌ์ฆˆ ํ’€ ์ธ์Šคํ„ด์Šค์— ๋ชจ์•„๋‘๊ณ  ์ด ์ธ์Šคํ„ด์Šค์˜ ํ•ด์ œ์™€ ํ•จ๊ป˜ ๋“ฑ๋ก๋œ release๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•˜๊ฒŒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ์—์„œ ์—ฐ์†์ ์œผ๋กœ ๊ฐ•ํ•œ์ฐธ์กฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€๋ฅผ autoreleasepool ๋ธ”๋ก์œผ๋กœ ๊ฐ์‹ธ์„œ ๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚  ๋•Œ ์ผ๊ด„์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 
  • DispatchWorkItem์„ ์‚ฌ์šฉํ•˜๋ฉด DispatchQueue์— ๋“ฑ๋กํ•  ์ž‘์—…์„ ์ถ”์ƒํ™”ํ•ด์„œ ํด๋ž˜์Šค๋กœ ๋ž˜ํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ž˜ํ•‘๋˜๋ฉด DispatchWorkItem์ด ์ง€์›ํ•˜๋Š” cancel๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž‘์—…์„ ์ทจ์†Œ์‹œํ‚ค๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

์˜ค๋Š˜ ๋Š๋‚€ ๊ฒƒ.

  • ํ•œ ๋ฒˆ์”ฉ ์šฐ์šธ๊ฐ์ด ๋ฐ€๋ ค๋“ค ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ์–ด์ œ ์˜ค๋Š˜์ด ์ข€ ๊ทธ๋ ‡๋‹ค. ๋”ฑํžˆ ๋ฌด์Šจ ์—„์ฒญ๋‚œ ์ผ์ด ์žˆ์—ˆ๋˜ ๊ฒƒ๋„ ์•„๋‹Œ๋ฐ ๊ทธ๋ƒฅ ๊ทธ๋ ‡๋‹ค. ์ทจ์—…์— ๋Œ€ํ•œ ๋ถˆ์•ˆ๊ฐ ๋•Œ๋ฌธ์ผ์ง€๋„.

๋‚ด์ผ์˜ ๊ณ„ํš.

  • Method Dispatch ํฌ์ŠคํŒ… 
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€๊ธฐ
  • Swift ๋ฌธ๋‹ต ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ

์˜ค๋Š˜์˜ ๊ฐ์‚ฌ.

  • ๊ฐ€๊ณ ์‹ถ์€ ๊ธฐ์—…๋“ค์— ์ž์†Œ์„œ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!