ARC
-
ARC ์ฌํSwift 2021. 2. 17. 12:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ARC์ ๋ํด ์ฌํ์ ์ผ๋ก ์์๋ณด๊ฒ ์ต๋๋ค. ARC๋? : Automatic Reference Counting (์๋์ฐธ์กฐ๊ณ์)๋ฅผ ๋ปํ๋ค. : ๋ค๋ฅธ ์ธ์ด์๋ ์๋ ๋ ์ฐฝ์ ์ธ ๊ฒ์ผ๋ก ์๋ฐ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๊ธฐ๋ฒ๊ณผ๋ ๋ค๋ฆ (๋ฉ๋ชจ๋ฆฌ ํด์ ์์ ์ ๊ดํ ์ดํด๊ฐ ํ์) ์๋์ฐธ์กฐ๊ณ์๋? : ์ฑ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ถ์ ํ๊ณ ๊ด๋ฆฌํด์ค๋ค. : ์ธ์คํด์ค๊ฐ ๋์ด์ ํ์ํ์ง ์์๋ ํด๋์ค ์ธ์คํด์ค์ ์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ ํด์ค๋ค. (์ฐธ์กฐ ํ์ ์ ํ ๋น / ํด์ ์์ ์ ์๋ ๊ด๋ฆฌ) : ํด๋์ค์ ์ธ์คํด์ค(์ฐธ์กฐ ํ์ )์๋ง ์ ์ฉ (๊ตฌ์กฐ์ฒด/์ด๊ฑฐํ ๋ฑ ๊ฐ ํ์ ์๋ ์ ์ฉ๋์ง ์๋๋ค) ARC ํน์ง 1) ํ๋์ ํ์ฑํ ์ฐธ์กฐ๊ฐ ์๋ค๋ฉด ์ธ์คํด์ค๋ ํ ๋น ํด์ ๋์ง ์๊ณ ๊ณ์ ์กด์ฌ 2) ๊ฐํ์ฐธ์กฐ์ ํ ๋น์ nil๋ก ์ ๋ฆฌ..
-
๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ & ARCSwift 2021. 1. 11. 17:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ARC์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค..! 1. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ [๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํ๋ฉด] 1) ์ฝ๋ ์์ญ: ์์ค์ฝ๋ ๊ธฐ๊ณ์ด ํํ ์ ์ฅ(0๊ณผ 1), ์ปดํ์ผ ํ์ ๊ฒฐ์ , Read-Only ํํ๋ก ์ ์ฅ 2) ๋ฐ์ดํฐ ์์ญ: ํ๋ก๊ทธ๋จ ์์ ์ ํ ๋น, ์ข ๋ฃ ์ ๋ฉ๋ชจ๋ฆฌ ํด์ , Read-Write๋ก ์ง์ (์คํ ๋์ค ๊ฐ ๋ณ๊ฒฝ๋ ์ ์์) 3) ํ ์์ญ (1) ํ๋ก๊ทธ๋๋จธ๊ฐ ํ ๋น/ํด์ ํด์ฃผ๋ ์์ญ (2) ๋ฉ๋ชจ๋ฆฌ ํด์ ํด์ฃผ์ง ์์ผ๋ฉด memory leak ๋ฐ์ (๋์ผ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ์ค๋ณต ํ ๋น ๋ฐฉ์ง ํ์) - malloc, calloc ๋ฑ ํด์ ๊ธฐ๋ฅ ํ์ (3) ๋ฐํ์ ์ ๊ฒฐ์ ๋๊ธฐ์ ๋ฐ์ดํฐ ํฌ๊ธฐ ํ์ค์น ์์๋ ์ฌ์ฉ (4) ํด๋์ค ์ธ์คํด์ค, ํด๋ก์ ๊ฐ์ ์ฐธ์กฐ ํ์ ์ ๊ฐ์ ๋ชจ๋ heap ์์ญ์..