728x90 ๋ฐ์ํ ๐ iOS/iOS49 [iOS ๋ฉด์ ์ง๋ฌธ] Delegate๋ retain์ด ๋ ๊น? ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋ ์์๋ณผ ์ฃผ์ ๋ Delegate๋ retain์ด ๋ ๊น? ์ ๋๋ค. ์ด๋ฒ ์ฃผ์ ๋ ๋จผ์ ์ง๋ ์๊ฐ์ ๋ค๋ค์๋ Delegate์ Protocol ๊ทธ๋ฆฌ๊ณ Retain Cycle์ด๋? ์ ๋ณด๊ณ ์ค์๋ฉด ์ข์ ๊ฑฐ ๊ฐ์์! ๊ทธ๋ผ ๋ฐ๋ก ์์ํด๋ณผ๊ฒ์~ Class-Ony-Protocol ๋จผ์ Retain์ ์ ๋ฒ ์๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋์๋ ์ฆ ์ธ์คํดํ๋ฅผ ์์ผ์ค๋ ์๊ธด๋ค๊ณ ํ์ต๋๋ค. ์ธ์คํด์ค๋ ํด๋์ค๋ก๋ถํฐ ์์ฑ๋ ๊ฐ์ฒด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด Delegate๋ Protocol์ ์ฑํํ๋ ๊ฒ์ด๊ณ Protocol์ Class๊ฐ ์๋๋๊น Retain์ด ๋์ง ์๋๊ฑฐ๊ฒ ์ง ๋ผ๊ณ ์๊ฐํ์์ต๋๋ค. ํ์ง๋ง ํด๋์ค์์ ํ๋กํ ์ฝ์ ์ฑํํ ๋๋ Class - Only - Protocol ์ด๋ผ๋ ํด๋์ค ์ ์ฉ ํ๋กํ .. 2020. 12. 23. [iOS ๋ฉด์ ์ง๋ฌธ] GCD๋? - ๊ฐ๋ ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋ ์์๋ณผ ์ฃผ์ ๋ GCD(Grand Central Dispatch)์ ๋๋ค. ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค. Multi Threading ๋จผ์ GCD ๋ฅผ ์๊ธฐ ์ํด์ ๋ฉํฐ์ฐ๋ ๋ฉ ์ด๋ผ๋ ๊ฐ๋ ์ ์๊ณ ์์ด์ผํฉ๋๋ค. ์๋ํ๋ฉด GCD ๊ฐ ์ ํ์์ ์ ๊ณตํ๋ API์ธ๋ฐ ์ด๊ฒ์ ๋ฉํฐ์ฐ๋ ๋ฉ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ณ ํธํ๊ฒ ํด์ฃผ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฉํฐ์ฐ๋ ๋ ๋ ์ฌ๋ฌ๊ฐ์ ์ฐ๋ ๋๊ฐ ๋์์ ์งํ๋๋ ๊ฒ์ธ๋ฐ์. ์ ๋ฉํฐ์ฐ๋ ๋ ๊ฐ ํ์ํ ๊น์? ๋ณดํต์ ์์ ๋ค์ ๋ํ์ ์ผ๋ก UI๊ด๋ จ ์์ ๋ค์ ๋ฉ์ธ์ฐ๋ ๋์์ ์งํ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์์ ๋ค์ ๋๋ถ๋ถ ์์ฐจ์ (sync)์ผ๋ก ์ด๋ฃจ์ด์ ธ์์ฃ . ํ์ง๋ง ์์์์ด ๋์(async)์ ์ด๋ค์ ธ์ผ ํ ๊ฒ๋ค์ด ์์ฃ ? ์๋ฅผ ๋ค๋ฉด ์ด๋ฏธ์ง ๋ค์ด๋ก๋๊ฐ์ ๊ฒฝ์ฐ ๋์์ ๋ค์ด๋ก๋ฉ์ ์์ํด์ ๋จผ์ ๋๋ ์ด๋ฏธ์ง๋ .. 2020. 12. 18. [iOS/UI] UITableView๋? ์๋ ํ์ธ์ Foma ์ ๋๋ค. ์ค๋ ์์๋ณผ ๊ฒ์ ํ ์ด๋ธ๋ทฐ์ ๋๋ค. iOS ๊ฐ๋ฐ์ ํ๋ฉด์ ๊ฑฐ์ ํ์๋ก ์ฌ์ฉํด์ผํ๋ ํด๋์ค์ด์ฃ . ๊ทธ๋์ ์ ๊ณต๋๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋์ถฉ ์ฌ์ฉํ๋๋ฐ ์ค๋์ ์ง์ง ํ๋ํ๋ ์ธ์ธํ๊ฒ ๋ณด๋ฉด์ ์์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. UITableView ๊ณต์ ๋ฌธ์์๋ "๋จ์ผ ์ด์ ๋ฐฐ์ด๋ ํ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ทฐ" ๋ผ๊ณ ๋์ด์๋ค์. ๋ํ UIScrollView ์ ์์๋ฐ๊ณ ์์ผ๋ฏ๋ก Scroll์ด ๋น์ฐํ ๊ฐ๋ฅํ๊ณ Scroll ๊ด๋ จ๋ ๋ฉ์๋๋ค๋ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. Data Source ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๋ฐ์ดํฐ์์ค ๋ฉ์๋๋ numberOfSections ์ numberOfRowsInSection ๊ฐ ์์ต๋๋ค. numberOfSections ์ ์น์ ์ ๊ฐ์๋ฅผ numberOfRowsInSection.. 2020. 12. 16. [iOS ๋ฉด์ ์ง๋ฌธ] ์ ๋ค๋ฆญ์ด๋? (Swift Generic) ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋ ์์๋ณผ ์ฃผ์ ๋ ์ ๋๋ฆญ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ ๋๋ฆญ์ ๋ค์ด๋ณด๊ธฐ๋งํ๊ณ ์ ๋๋ก ์์๋ณด๋๊ฑด ์ด๋ฒ์ด ์ฒ์์ธ๋ฐ ์ ๋ง ์ ์ฉํ ๋ ์์ด๋ผ์ ๊ณต์ ๋๋ฆด๋ ค๊ณ ํด์! ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค. Generic ๊ณต์ ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ์ค๋ช ํ๋ค์. ์ค์ ๋ก Swift์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ์ด ๋ผ๋ ํ์ ์ ๋ณผ ์ ์์์ต๋๋ค. ์ ์ค๋ช ๋ง์ผ๋ก๋ ์ดํด๊ฐ ํ๋์ค๊ฑฐ์์. ์์ ๋ฅผ ํตํด ์ดํด๋ด ์๋ค! ๋ง์ฝ old์ new๋ผ๋ ๊ธ์๋ฅผ ๋ฉ์๋๋ฅผ ํตํด ์๋ก ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์? ๋ฐ๋ก ์๋์ฒ๋ผ ๊ตฌํํ ์ ์์๊ฑฐ์์. ๋ง์ฝ old์ new๊ฐ ์ซ์๋ผ๋ฉด ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น์? ๋ฐ๋ก ์๋์ฒ๋ผ ๊ตฌํํ ์ ์์๊ฑฐ์์. ๋ง์ฝ์ ๋ฉ์๋์์ ํ๋ผ๋ฏธํฐ์ ํ์ ์ ์์์ ์๊ณ ๋ฐ๊ฟ์ฃผ๋ฉด ์ผ๋ง๋ ํธํ ๊น์? ๋ง์น ํ๋ผ๋ฏธํฐ์ ์ซ.. 2020. 12. 15. [iOS] ํด๋์ค์ด๋ฆ ํ๋ฒ์ ๋ชจ๋ ๋ฐ๊พธ๊ธฐ (Refactor Class name) ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋๋ ์๋กญ๊ฒ ์๊ฒ๋๊ฒ ์์ด์ ๊ณต์ ๋๋ฆด๋ ค๊ณ ๊ธ์ ์์ฑํฉ๋๋ค. ์ ๋ ํ์์ ๋ทฐ์ปจํธ๋กค๋ฌ๋ ์๋๋ฉด ๋ค๋ฅธ ํด๋์ค์ ์ด๋ฆ์ ๋ฐ๊ฟ๋ ์ง์ ๋ทฐ์ปจํธ๋กค๋ฌ ์ด๋ฆ์ ๋ฐ๊พธ๊ณ ํด๋น ํ์ผ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ณ ๋ ์คํ ๋ฆฌ๋ณด๋์๊ฐ์ ํด๋น ๋ทฐ์ปจํธ๋กค๋ฌ ์ด๋ฆ์ ๋ฐ๊ฟ์ฃผ์์ต๋๋ค. ํ์ง๋ง ์คํ ๋ฆฌ๋ณด๋,ํ์ผ,๋ทฐ์ปจํธ๋กค๋ฌ ์ด๋ฆ์ ํ๋ฒ์ ๋ฐ๊ฟ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๋ด์๋๋ฐ์ ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค!! ๋ฐ๋ก ์๋ ViewController์ด๋ฆ์ด ์๋ OnboardingViewController์ธ๋ฐ์. ์ ๋ ์ด๊ฒ์ TravelViewController๋ก ๋ฐ๊พธ๊ณ ์ถ์์ต๋๋ค. ๋ฐ๊ฟ ํด๋์ค ์ด๋ฆ์ ์๋์ฒ๋ผ ๋๋ฅด๊ณ ์ฐ์ธก ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํ์๋ฉด Refactor๋ผ๊ณ ๋ณด์ด์ค๊ฑฐ์์. ๊ฑฐ๊ธฐ์ Rename์ ํ์๋ฉด ์๋์ ๊ฐ์ด ์คํ ๋ฆฌ๋ณด๋์ ํ์ผ ๋ชจ๋ ํ๋ฒ์ ๋ณด.. 2020. 12. 14. [iOS ๋ฉด์ ์ง๋ฌธ] Cocoa Touch Framework๋? ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋ ์์๋ณผ๊ฑด iOS ๊ฐ๋ฐ์ ์ํ ํ๋ ์์ํฌ ์ค ๊ฐ์ฅ ์ต์๋จ์ ์์นํ ์ฝ์ฝ์ ํฐ์น ํ๋ ์์ํฌ ์ ๋๋ค!! ๋จผ์ ์ฝ์ฝ์ ํฐ์น ํ๋ ์์ํฌ๋ฅผ ์์๋ณด๊ธฐ ์ ์ iOS์ ์ด์์ฒด์ ๋ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ ธ ์์๊น์? ๋ฐ๋ก ์๋์ ๊ฐ์ด Cocoa Touch - Media - Core Services - Core OS ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ด๋ฌํ ๋จ๊ณ๋ ๊ฐ๋ฐ์๊ฐ ์ผ๋ง๋ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋์ ๋ฐ๋ผ์ ๊ฒฐ์ ๋๋ค๊ณ ํด์. ์ฆ, Core OS๋ ์ฌ์ฉํ๊ธฐ ๊ฐ์ฅ ์ด๋ ค์ด ํ๋ ์์ํฌ์ด๊ณ Cocoa Touch๋ ๊ฐ์ฅ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด์ฃ ! ๊ฐ ๊ณ์ธต์ ๊ฐ๋จํ๊ฒ ์ค๋ช ๋๋ฆฌ๋ฉด ๊ฐ์ฅ ์๋ ๋จ๊ณ์ ์๋ Core OS๋ ๋ฉ๋ชจ๋ฆฌ๋ ๋คํธ์ํฌ ๊ฐ์ข ํ์ผ ๋ฑ์ ๊ด๋ฆฌํ๋ API๊ฐ ์์ต๋๋ค. ๊ทธ ๋ค์์ผ๋ก Core Servic.. 2020. 12. 8. [iOS] Background์์ Timer์๋ํ๊ฒ ํ๊ธฐ(Allow timer to work in the background) Swift ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ ํ์ด๋จธ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค๊ฐ ํ๋ฉด์ ์ ๊ทธ๊ฑฐ๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๊ฐ๋๋ ํ์ด๋จธ ์๊ฐ์ด ์ ์๋๋์ง ์๋๊ฑฐ์์. ๊ทธ๋์ ์ด๊ฒ ๋ฐฑ๊ทธ๋ผ์ด๋์์๋ ์๋์๊ฐ๋๊ฑด๊ฐ? ์ด๋ป๊ฒ ํด์ผํ์ง? ํ๋ฉด์ ๊ตฌ๊ธ๋ง์ ํ๋ค๋ณด๋ "์ฑ์ด ํฌ์ด๊ทธ๋ผ์ด๋์ ์์ง ์์ผ ๋ฉด 100% ์๋๋์ง ์์ ์ ์๋ค" ๋ผ๊ณ ํ๋๋ผ๊ตฌ์. (์ด๋ป๊ฒ ๋ณด๋ฉด ๋น์ฐํ ์๋ฆฌ์ผ์๋...) ๊ทธ๋์ ์ด๋ป๊ฒ ๋ฐฑ๊ทธ๋ผ์ด๋์ ๋ค์ด๊ฐ์ ๋๋ ์ ์์ ์ผ๋ก ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํ ๊น? ์ ๋ํด์ ์๊ฐํ๋ค๊ฐ ์ ๋๋ฆ์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์์๋ด์ ๊ณต์ ๋๋ฆฌ๊ณ ์ถ์ด์ ๊ธ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค! ์ ๊ทธ๋ฌ๋ฉด ๋ฐ๋ก ์ด๋ป๊ฒ ํ๋์ง ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋จผ์ ์์ ์ ์ฑ๋ผ์ดํ์ฌ์ดํด์ ๋ํด์ ๊ณต๋ถํ์๋๋ฐ์. (ํน์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ ์ฌ๊ธฐ ์์ ํ์ธํด์ฃผ์ธ์~) SceneDelgate๋ฅผ ํตํด์ .. 2020. 12. 7. [iOS ๋ฉด์ ์ง๋ฌธ] Retain Cycle์ด๋?(2) - Strong,Weak,Unowned ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ด๋ฒ ์๊ฐ์๋ ์ ๋ฒ์ ์์๋ณด์๋ Retain Cycle ์ ๋ ๊น์ด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ํน์ Retain Cycle ์ ๊ธฐ์ด๋ฅผ ์๊ณ ์ถ์ผ์ ๋ถ๋ค์ ์ฌ๊ธฐ ๋จผ์ ๋ด์ฃผ์ธ์~ ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค~ Strong ์ด๋ฆ์ฒ๋ผ ๊ฐํ๊ฒ ์ฐ๊ฒฐํ๋ค๋ ๋ป์ ๋๋ค. ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ์กฐํ ๋ ์์ weak์ด๋ unowned๋ฅผ ์ฐ์ง ์์์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก strongํ๊ฒ ์ฐธ์กฐํ๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ class A๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์ var a:A? ๊ฐ ์์ ๋ strong var a:A? ์ธ๋ฐ strong์ด default์ด๊ธฐ ๋๋ฌธ์ ์๋ต๋ ๊ฒ์ด์ฃ . Weak ์ด๋ฆ์ฒ๋ผ ์ฝํ๊ฒ ์ฐ๊ฒฐํ๋ค๋ ๋ป์ด์์. ์ ์๊ฐ์ ๋ฆฌํ ์ธ ์ฌ์ดํด ์ค์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์. ์ ๋ฒ ์๊ฐ์ ์์๋ณด์๋ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฐ๊ฒฐํ๋ .. 2020. 12. 4. [iOS] ํ๋ฉด ํ์คํฌ๋ฆฐ์ผ๋ก ๋ง๋๋๋ฒ ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์์ฆ์ Swift๋ก ํ ํธ๋ฆฌ์ค๋ฅผ ๋ง๋ค๊ณ ์๋๋ฐ ์๊พธ ํ๋ฉด์ด ํ์คํฌ๋ฆฐ์ผ๋ก ์๋์ค๊ณ ์ ๋งคํ๊ฒ ์ค๊ฐ์ฌ์ด์ฆ? ์๋ ์ฌ์ง์ฒ๋ผ ๋์ค๋๋ผ๊ตฌ์. ๋ฐ๋ก ์๋์ฒ๋ผ Targets - General๋ก ์ด๋ํ์ ์ ์๋๋ณด๋ฉด App Icons and Launch Images๋ผ๊ณ ์์๊ฑฐ์์. ์ด ๋ถ๋ถ์์ Launch Screen File์ด ๋น์ด์๊ธฐ ๋๋ฌธ์ด์์ต๋๋ค. ์ฌ๊ธฐ์ main์ ์ฑ์์ฃผ์ ์ผ ์๋ ์ฌ์ง์ฒ๋ผ full screen์ผ๋ก ์ ์์ ์ผ๋ก ๋์ค๊ฒ ๋ฉ๋๋ค !!! 2020. 12. 1. [iOS]Cell ํญํ์ ๋ Segue๋ก ๋ฐ์ดํฐ ๋ณด๋ด๋ ๋ฒ (didSelect & Pass Data by Segue) ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ ์ ๊ฐ ์ค์ํ ๊ฒ์ ๋ํด์ ๊ธ์ ์์ฑํด๋ณด๋ ค๊ณ ํด์ ์...๋์ถฉ ์ค๋ช ํ๋ฉด ์ฝ๋ ์ ๋ทฐ๋ฅผ didSelectํ์ ๋ segue๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์ถ์๋๋ฐ ์ด๊ฒ ์ ์ ํญํ์๋ง์ segue๊ฐ ์คํ๋๋ฉด์ ์ ์ ์๋ ํ ์คํธ ๋ฐ์ดํฐ ์ ์ก์ด ๋์ง ์์์ต๋๋ค. ์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด... ์๋ ์ฌ์ง์ฒ๋ผ segue ์คํ์ ์ฝ๋ ์ ๋ทฐ ์ ์ ๋ฌ์๋จ์ต๋๋ค. ์ ๋ ๋์ฐฉํ๋ ๋ทฐ์ปจํธ๋กค๋ฌ์ bigCategory๋ผ๋ ๋ฐ์ดํฐ๋ฅผ prepare์์ ์ค๋นํ ๋ค์ ๋ณด๋ด๋ ค๊ณ ํ์ต๋๋ค. ํ์ง๋ง ์ด bigCategory๋ didSelectItem์ ํด๋น ์ ์ ํ ์คํธ์ ๊ฐ์ผ๋ก ๊ฒฐ์ ๋๋ ๊ฒ์ด์์ต๋๋ค. ๊ณ ๋ก ์ด๋ฏธ segue๊ฐ ์คํ๋๊ณ ๋์ ๊ฐ์ด ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์๊ฐ ์์์ต๋๋ค... "๊ทธ๋ ๋ค๋ฉด performSegue๋ฅผ.. 2020. 11. 30. [iOS ๋ฉด์ ์ง๋ฌธ] Retain Cycle์ด๋?(1) - ๊ฐ๋ ์๋ ํ์ธ์ Foma ์ ๋๋ค!! ์ค๋ ์์๋ณผ ๊ฑด ์ง๋ ์๊ฐ ARC์ ์ด์ด์ Retain Cycle ์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํด์! ํน์ ARC๋ฅผ ์์ง ์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ ์ฌ๊ธฐ ๋ฅผ ๋๋ฌ์ ๋จผ์ ๋ณด๊ณ ์ค์๋ฉด ์ข์ ๊ฑฐ ๊ฐ์์! ์ ๊ทธ๋ฌ๋ฉด ๋ฐ๋ก ์์ํด๋ณด๊ฒ ์ต๋๋ค! ์ฐ์ Retain Cycle ์ ์์๋ณด๊ธฐ ์ํด์ ์ฐธ์กฐํ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ด๋ค ๋ถ๋ถ์ ํด๋น๋ ๊น์? ๋ฐ๋ก "Heap" ์ด๋ผ๋ ์์ญ์ด์์. "Heap" ์ด๋ผ๋ ์์ญ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ์ฅ๋๊ธฐ ์ํด์ ํ ๊ณต๊ฐ์ด ํ์ํ๋ฐ์. ๋ฐ๋ก ๊ทธ ๊ณต๊ฐ์ ๋ ํผ๋ฐ์ค๊ฐ ๋ฐ๋ผ๋ณด๊ณ ์๋ ๊ฒ์ด์์! ์๋ ์ฌ์ง์ฒ๋ผ ๋ง์ด์ฃ . ์ ๊ทธ๋ ๋ค๋ฉด ๋ณธ๊ฒฉ์ ์ผ๋ก Retain Cycle์ด ๋ฌด์์ธ์ง ์์๋ณผ๊น์? ๋จผ์ Retain์ ์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ ๋ ๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์๋ ๋ ํผ๋ฐ์ค๋ฅผ ์ด์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์์ ๋ .. 2020. 11. 30. [iOS ๋ฉด์ ์ง๋ฌธ] ARC(Auto Reference Counting)๋? ์๋ ํ์ธ์ Foma ์ ๋๋ค!! ์ด๋ฒ ์๊ฐ์ ์์๋ณผ๊ฑด ๋ฐ๋ก "ARC(Auto Reference Couting)" ๋ผ๋ ๊ฒ์ธ๋ฐ์. Memory ์ด ARC๊ธฐ๋ฒ์ ๋ฐ๋ก iOS์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ ํต์ฌ์ ๋๋ค. "์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ๋๋๋ฐ?" ๋ง์ฝ ์ธ๋ชจ์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๋ฌด ๋ง์์ง๋ฉด ์ฑ์ด ๋๋ ค์ง๊ณ ์ ์ ๋์ ์ด๊ณผํ๋ฉด ๊ฒฐ๊ตญ ์ฑ์ด ๊บผ์ ธ๋ฒ๋ฆด ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ ์ ๋ฅผ ์ดํํ๊ฒ ๋ง๋ค์ ์๋ ์น๋ช ์ ์ธ ๊ฒ์ด์ฃ . "๊ทธ๋ผ ์ธ๋ชจ์๋ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์๊ธฐ๋๊ฑด๋ฐ?" ์ธ๋ชจ์๋ ๋ฉ๋ชจ๋ฆฌ๋ ๋ค๋ฅธ ๋ง๋ก ํํํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ด๋์ ๊ฐ ์๊ณ ์๋ค๋ ๋ง๋ก๋ ํํ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ ๊ฒ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ ๋ฆญ(๋ฉ๋ชจ๋ฆฌ ๋์) ํ์์ด๋ผ๊ณ ํ๋๋ฐ์. ์ด ๋ฉ๋ชจ๋ฆฌ ๋ฆญ ํ์์ ์๋์ผ๋ก ๋ง์์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก ARC์ ๋๋ค ! Auto Reference Coun.. 2020. 11. 21. ์ด์ 1 2 3 4 5 ๋ค์ 728x90 ๋ฐ์ํ