-
[iOS] MVC ๋? (feat. Cocoa MVC)iOS/๐ค App 2021. 3. 3. 23:30
1์ฐจ ์์ : 21.07.26
2์ฐจ ์์ : 21.08.05
์ ํ ์์นด์ด๋ธ ๋ฌธ์๋ฅผ ์ค์ฌ์ผ๋ก ์์ฑํ์์ต๋๋ค.
์๋ ํ์ธ์๐ถ
์ด๋ฒ ์๊ฐ์๋ iOS ๊ฐ๋ฐ ์ ๋ฌธ ์๊ธฐ์
๊ฑฐ์ ํ์ฐ์ ์ผ๋ก ์ฌ์ฉํ๋
์ํคํ ์ฒ ํจํด์ธ Model-view-controller (MVC) ํจํด์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์์๋ณด๊ณ ,
์ ํ์์ ์ ์ํ๋ Cocoa MVC ์ ๋ํด์ ๋ค๋ค๋ณด๋ ค๊ณ ํฉ๋๋ค.
๊ทธ๋ผ ์์ํด๋ณผ๊ฒ์!!!๐ฅ
์ด ๊ธ์์ ๋ค๋ฃจ๋ ๊ฒ:
MVC์ ๊ธฐ๋ณธ ๊ฐ๋
Cocoa MVC๋?
Model, View, View controller ์ ์ญํ
Cocoa MVC์ ์ฅ์ ๊ณผ ๋จ์
์ฐ์ , MVC ์ ๊ธฐ๋ณธ ๊ฐ๋
์ด ํจํด์ User Interface ๋ฅผ ๊ฐ๋ฐํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ ํจํด์ผ๋ก,
1. ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ๋ ๊ณผ์
2. ๋ด๋ถ์ ์ผ๋ก ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ณ ํํํ๋ ๊ณผ์
3. ์ฒ๋ฆฌ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ๊ณผ์
์ด 3๊ฐ์ง์ ๊ณผ์ ์ 3๊ฐ์ง ์ญํ ๋ก ๋ถ๋ฆฌํ๊ธฐ์ํด ๊ฐ๋ฐ๋ ๊ฒ์ ๋๋ค.
๋ฐ์คํธํ์ GUI ์์ ์ ํต์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋์ด ์์ผ๋ฉฐ, ์น ์ฑ์ ์ค๊ณํ๋๋์ ์์ฃผ ์ฌ์ฉํ๋ ์ ๋ช ํ ํจํด์ด ๋์์ต๋๋ค.
์ฌ๊ธฐ๊น์ง๊ฐ ์ํค ๋ฐฑ๊ณผ์ ๋ด์ฉ์ธ๋ฐ์.
iOS๋ฅผ ๊ฐ๋ฐํ๋๋ฐ ํ์ํ Cocoa Touch ํ๋ ์์ํฌ๊ฐ MVC ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์ด์์ต๋๋ค.
์ฌ์ค ์ ํ์์ ์ ์ํ๋ MVC ์ ๊ฐ๋ ์ ์กฐ๊ธ ๋ค๋ฆ ๋๋ค!!!
์ด๊ฒ์ Cocoa MVC ๋ก ๊ตฌ๋ถํ์ฌ ๋ถ๋ฅด๊ธฐ๋ ํฉ๋๋ค.
ํน์ Cocoa ์ ๋ํด์ ์ ๋ชจ๋ฅด์ ๋ค๋ฉด
>>> [iOS] Cocoa (touch) ๋? <<<
Cocoa MVC ๋?
Cocoa MVC ํจํด์
์ฑ ๋ด์ ๋ชจ๋ ์ค๋ธ์ ํธ๊ฐ ์ธ ๊ฐ์ง์ ์ญํ ์ค ํ๋๋ฅผ ๊ฐ์ง๊ฒ ํฉ๋๋ค.
์ธ ๊ฐ์ง์ ์ญํ ์ ๊ฐ๊ฐ Model, View, Contorller ์ ๋๋ค.
์ด ํจํด์:
์ฑ์์ ์ค๋ธ์ ํธ๊ฐ ์ํํ ์ญํ ์ 3๊ฐ์ง ์ค ํ๋๋ก ์ ์ํฉ๋๋ค.
3๊ฐ์ง ์ญํ ์ Model, View, Controller
์ญํ ์ด ๋ค๋ฅธ ์ค๋ธ์ ํธ๊ฐ ์์ฌ์ํตํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
์ด ๋, ๊ฐ์ ์ญํ ์ ํ๋ ์ค๋ธ์ ํธ๋ค์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ชจ์์ ๋ ์ด์ด ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์ฌ๋ฌ ๊ฐ์ ๋ชจ๋ธ ์ญํ ์ค๋ธ์ ํธ๋ค์ ๋ชจ์์ ๋ชจ๋ธ ๋ ์ด์ด๋ผ๊ณ ํฉ๋๋ค
์๋ ๊ทธ๋ฆผ์ Cocoa MVC ๋ฅผ ํํํ ๋ค์ด์ด๊ทธ๋จ์ ๋๋ค.
ํน์ง์ ๊ฐ๋จํ๊ฒ ์ดํด๋ณด์๋ฉด ๐ค
View ์ Model ์ฌ์ด์ ์ง์ ์ ์ธ ์ฐ๊ฒฐ์ ์ด ์์ต๋๋ค.
๋์ ์๋ก์ ๋ํด์ ๋ชจ๋ฆ ๋๋ค.
View ์ Model ๋ ์ด์ด ์ฌ์ด์ ์ ๋ณด ๊ตํ์ Controller ๋ฅผ ํตํด์ ํ๊ณ ์์ต๋๋ค.
Controller ๋ ์ค์ฌ์ (meditor) ์ ์ญํ ์ ํฉ๋๋ค.
๋ํ ์ํค์์ ์ ์ํ๋ MVC ๋ ์ ๋ณด์ ํ๋ฆ์ด undirectional ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ Cocoa MVC๋ ๋ ์ด์ด ๊ฐ์ bi-directional ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๋ค์.
์ด์ ์ญํ ๋ณ๋ก ํน์ง์ ํ๋์ฉ ์ดํด ๋ณผ๊ฒ์!
Model Objects
๋ชจ๋ธ ์ค๋ธ์ ํธ๋...
1. ํน์ ์ฑ์ ํ์ ๋ ๋ฐ์ดํฐ๋ฅผ ์บก์ํํฉ๋๋ค.
2. ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ก์ง์ ๊ณ์ฐ์ ์ ์ํฉ๋๋ค.
์บก์ํ๋ฅผ ํ๋ค๋ฉด ์ ์ ๋ก ๋ฐ๋ผ์ค๊ฒ ๋๋ ์ต์ ์ด์ฃ ?
์บก์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํด์ฃผ์ด์ผ ํฉ๋๋ค.
ํ๋์ ๋ชจ๋ธ ์ค๋ธ์ ํธ๋ ๋ค๋ฅธ ๋ชจ๋ธ ์ค๋ธ์ ํธ์ 1 ๋ 1 ํน์ 1 ๋ ๋ค์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค.
์ฑ์ ์์์ ์ธ ๋ฐ์ดํฐ๋ค์ ๋ชจ๋ธ ์ค๋ธ์ ํธ๋ก ๋ฐฐ์ ๋์ด์ผ ํฉ๋๋ค.
์์์ (persistent) ์ด๋ผ๋ ์๋ฏธ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ disk, db ๋ฑ์ ๋ด๊ฒจ ๊ด๋ฆฌ๋๋ค๋ ์๋ฏธ์ ๋๋ค.
๋ชจ๋ธ ์ค๋ธ์ ํธ๋ค์ ํน์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋๋ฉ์ธ์ ํ์ํ ์ง์์ด๋ ์ ๋ฌธ์ ์ง์์ ํํํ๊ณ ์๊ธฐ ๋๋ฌธ์,
๋ค๋ฅธ ๋น์ทํ ๋๋ฉ์ธ์์๋ ์ฌ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๋ํ ๋ชจ๋ธ ์ค๋ธ์ ํธ์ ๋ทฐ ์ค๋ธ์ ํธ๋ ์๋ก ์ด๋ ํ ๋ช ์์ ์ฐ๊ฒฐ์ด ์๋ ๊ฒ์ด MVC์ ์ด์์ ์ธ ๊ตฌ์กฐ์ ๋๋ค.
๋ทฐ ์ค๋ธ์ ํธ๊ฐ ๋ชจ๋ธ ์ค๋ธ์ ํธ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํํํ๊ฑฐ๋
์ฌ์ฉ์๋ก ํ์ฌ๊ธ ๊ทธ๊ฒ์ ์์ ํ ์ ์๊ฒ ํ ์ ์์ต๋๋ค.
< ๋ชจ๋ธ ์ค๋ธ์ ํธ๊ฐ ๋ค๋ฅธ ์ค๋ธ์ ํธ์ ์์ฌ์ํตํ๋ ๋ฐฉ๋ฒ >
๋ทฐ ๋ ์ด์ด์์ ๋ฐ์ํ ์ฌ์ฉ์ ์ก์ ์ ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ฅผ ํตํด์ ๋ชจ๋ธ๋ก ์ ๋ฌ๋๋ฉฐ,
๋ชจ๋ธ ์ค๋ธ์ ํธ์ ์์ฑ์ด๋ ์ ๋ฐ์ดํธ๋ฅผ ์ผ์ผํต๋๋ค.
์ฆ, ์ ์ ํ๋๋ก ๋ทฐ ์ค๋ธ์ ํธ๋ ๋ชจ๋ธ ์ค๋ธ์ ํธ๋ฅผ ์ง์ ์์ฑ, ์์ ํ์ง ์์ต๋๋ค.
๋ชจ๋ธ ์ค๋ธ์ ํธ๊ฐ ๋ณ๊ฒฝ๋ ๋, ๊ทธ ๋ด์ฉ์ ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ์๊ฒ ์ ๋ฌํ๊ณ ,
๋ค์ ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ ๋ทฐ ์ค๋ธ์ ํธ๋ฅผ ์ ๋ฐ์ดํธ ํด์ ํ๋ฉด์ ํ์ํฉ๋๋ค.
View Objects
๋ทฐ ์ค๋ธ์ ํธ๋ ์ฑ์์ ์ฌ์ฉ์๊ฐ ์ง์ ๋์ผ๋ก ๋ณด๊ฒ ๋๋ ์ค๋ธ์ ํธ ์ ๋๋ค ๐
๋ทฐ ์ค๋ธ์ ํธ๋ ์ค์ค๋ก ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ๊ณผ ์ฌ์ฉ์ ์ก์ ์ ๋ฐ์ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค.
์ฌ์ฉ์ ์ก์ (์ด๋ฒคํธ) ์ ๋ฐ์ํ๋ UIResponder ์ ๋ํด์ ์๊ณ ์ถ๋ค๋ฉด?
>>> [iOS] ๋ฆฌ์คํฐ๋ ์ฒด์ธ์ด๋? <<<
๋ทฐ ์ค๋ธ์ ํธ์ ์ฃผ๋ ๋ชฉ์ ์ ์ฑ์ ๋ชจ๋ธ ์ค๋ธ์ ํธ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ณ ,
์ฌ์ฉ์๊ฐ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ ๋๋ค.
MVC ํจํด์ ์ฌ์ฉํ ์ฑ์์๋ ๋ทฐ ์ค๋ธ์ ํธ์ ๋ชจ๋ธ ์ค๋ธ์ ํธ๊ฐ ๋ณดํต ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค.
ํ๋ ์์ํฌ๋จ์์๋ ๋ทฐ๋ ๋ชจ๋ธ์ ๋ํด์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ ์์์ต๋๋ค.
Xcode์์ Interface Builder ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์๋ง์ ๋ทฐ ์ค๋ธ์ ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
< ๋ทฐ ์ค๋ธ์ ํธ๊ฐ ๋ค๋ฅธ ์ค๋ธ์ ํธ์ ์์ฌ์ํตํ๋ ๋ฐฉ๋ฒ >
๋ทฐ ์ค๋ธ์ ํธ๋ ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ฅผ ํตํด์ ๋ชจ๋ธ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ ์๊ฒ ๋ฉ๋๋ค.
๋ทฐ ์ค๋ธ์ ํธ๋ ์ฌ์ฉ์๊ฐ ๋ฐ์์ํจ ์ก์ (๊ทธ๋ฆฌ๊ณ ์ก์ ์ด ๋ฐ์์ํจ ๋ฐ์ดํฐ์ ๋ณํ) ์
์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ฅผ ํตํด ๋ชจ๋ธ ์ค๋ธ์ ํธ์๊ฒ ์ ๋ฌํฉ๋๋ค.
Controller Objects
์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ ์ค์ฌ์ ์ ๋๋ค.
ํ ๊ฐ ์ด์์ ๋ทฐ ์ค๋ธ์ ํธ์ ํ ๊ฐ ์ด์์ ๋ชจ๋ธ ์ค๋ธ์ ํธ ์ฌ์ด๋ฅผ ์ค์ฌํฉ๋๋ค.
์์ ์ค๋ช ํ์๋ฏ์ด, ๋ชจ๋ธ๊ณผ ๋ทฐ๋ ์ง์ ์ฐ๊ฒฐ๋์ด ์์ง ์๊ฒ ํ๋ ๊ฒ์ด MVC ์ ์ด์์ ์ธ ์ค๊ณ์ ๋๋ค.
์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ ์ฑ์ ๊ธฐ์ด ๊ตฌ์ฑ๊ณผ ์กฐ์จํ๋ ์์ ๋ค์ ์ํํ๊ณ , ๋ค๋ฅธ ์ค๋ธ์ ํธ๋ค์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
๋ค๋ฅธ ์ค๋ธ์ ํธ = ๋ชจ๋ธ ์ค๋ธ์ ํธ, ๋ทฐ ์ค๋ธ์ ํธ
< ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๊ฐ ๋ค๋ฅธ ์ค๋ธ์ ํธ์ ์์ฌ์ํตํ๋ ๋ฐฉ๋ฒ >
์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ ๋ทฐ ์ค๋ธ์ ํธ์์ ๋ฐ์ํ ์ฌ์ฉ์ ์ก์ ์ ํด์ํ๊ณ ,
์๋ก ์์ฑ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ ๋ ์ด์ด์ ์ ๋ฌํฉ๋๋ค.
๋ฐ๋๋ก ๋ชจ๋ธ ์ค๋ธ์ ํธ์ ๋ณ๊ฒฝ์ด ์๋ค๋ฉด, ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ๋ ๊ทธ ์๋ก์ด ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ทฐ ์ค๋ธ์ ํธ์ ์ ๋ฌํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ทฐ ์ค๋ธ์ ํธ๋ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํตํด ํ๋ฉด์ ์๋ก์ด ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
Cocoa MVC ์ '๋จ์ ' ๊ณผ ์ฅ์
ํ์ค์ ์ด๋ ์ต๋๋ค.
View ์ Controller ๊ฐ ๋ถ๋ฆฌ๋์ด ์๋ ๊ฒ์ด ์ด์์ ์ธ Cocoa MVC ์์๋ ๋ถ๊ตฌํ๊ณ ,
View ์ ์๋ช ์ฃผ๊ธฐ๋ Controller ์ ๋ฐ์ ํ๊ฒ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ ๋์ด ๋ถ๋ฆฌ๋์ด ์๋ค๊ณ ๋ณด๊ธฐ ํ๋ญ๋๋ค.
"tightly coupled"
๋ํ View ์ Model์ ์ญํ ์ด ์๋ ๊ฒ์ ์ ๋ถ Controller ๊ฐ ์ฑ ์์ ธ์ผํ๊ธฐ ๋๋ฌธ์,
Controller ์ ์ญํ ์ด ๋ฐฉ๋ํด์ง๊ฒ ๋ฉ๋๋ค.
์ด๋ฐ MVC์ ๋จ์ ์ ๊ผฌ์ง์ด Massive View Controller (์ด๊ฒ๋ ์ค์ด๋ฉด MVC) ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํฉ๋๋ค.
๋ชจ๋ ์ญํ ์ด ํ ํด๋์ค์ ๋ชจ์ฌ์์ผ๋ฉด, ์ ์ง๋ณด์๊ฐ ๋งค์ฐ ํ๋ค์ด ์ง๋๋ค.
์ํํธ์จ์ด๊ณตํ์ ๊ด์ ์์๋ ์์ง๋๊ฐ ๋จ์ด์ง๊ฒ ๋๋ ๊ฒ์ธ๋ฐ,
์ด์์ ์ผ๋ก A๋ ๊ธฐ๋ฅ์ A ํด๋์ค์, B๋ ๊ธฐ๋ฅ์ B ํด๋์ค๊ฐ ์ฑ ์์ง๋
SRP ์ ์์น์ ์ค์ํ๋ ์ฝ๋๊ฐ ์ ์ง ๋ณด์์ ์ฉ์ดํฉ๋๋ค.
์ด๋ค ์ญํ ์ ์์ ํ๋ ค๋ฉด ์ด๋ค ์ฝ๋๋ฅผ ์์ ํด์ผํ๋์ง ๋ช ํํด์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ํ Controller ๋ UIKit ์ ์์กดํ๊ธฐ ๋๋ฌธ์, ํ ์คํธ๊ฐ ์ ํ์ ์ ๋๋ค.
ํ๋๋ฅผ ์๋ก ๋ค์๋ฉด,
viewDidLoad(animated: Bool) ๊ณผ ๊ฐ์ UIKit ์ ๋ฉ์๋๋ฅผ ์ง์ ํธ์ถํ์ฌ ํ ์คํธํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ Cocoa MVC ๋ ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ด ์์ต๋๋ค:
์ฐ์ , ํจํด์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ ๋ฌธํ๋ ๋จ๊ณ์ ๊ฐ๋ฐ์๋ค์ด ์ฝ๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๋ํ ๋น ๋ฅธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค๋ ์ ์ ๋๋ค.
ํ ์ด ํ๋ก์ ํธ๋, ํด์ปคํค๊ณผ ๊ฐ์ ์งง์ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๋ ์ฑ์ ๊ฐ๋ฐํ ๋๋ ์ด๋งํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก
Cocoa MVC ์์๋ ์ปจํธ๋กค๋ฌ ๋ ์ด์ด์ ํด๋นํ๋ ๋ทฐ ์ปจํธ๋กค๋ฌ์ ์ญํ ์ด ๋๋ฌด ๋น๋ํด์ง๊ณ , Testable ํ์ง ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฐ ๋จ์ ์ ๋ํ ๊ฐ์ ์ผ๋ก MVP ์ MVVM, VIPER ์ ๊ฐ์ ๋์์ด ์ ์๋์์ต๋๋ค.
๊ถ๊ธํ์๋ค๋ฉด ๊ฒ์์ ํตํด์ ์ฐพ์๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋!
์ฐธ๊ณ ์๋ฃ 1: https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52
์ฐธ๊ณ ์๋ฃ 2: sungdoo.dev/programming/do-you-know-mvc
'iOS > ๐ค App' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
'ํ์๊ธ ๋ญํน ์ฑ'์ ์ ์ํ๋ฉด์ ๋ฐฐ์ด ์ ํ๊ณ (0) 2021.03.05 [UIKit] ๋ทฐ ํ๊น ์ฌ์ฉํด๋ณด๊ธฐ (View Tagging) (0) 2021.03.05 [iOS] Frame ๊ณผ Bounds ์ ๊ณตํต์ ๊ณผ ์ฐจ์ด์ (0) 2021.02.04 [iOS] About the App Launch Sequence (์ฑ ์คํ ์์ ์ ์ผ์ด๋๋ ์ผ๋ค) (1) 2021.02.02 [iOS] UIApplication ์ด๋? (0) 2021.01.28