๊ณต๋ถ๊ฐ ๋ง์ด ๋ถ์กฑํด์ ๋ณต๊ธฐ๋ฅผ ์ํด ์์ฑํฉ๋๋ค.
๊ธฐ์ต์ ์์กดํ๊ธฐ ๋๋ฌธ์ ์ฌ์ค๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค.
ํ์ฌ(๋ถํฉ๊ฒฉ)
- ์๋ฆฌ์ฆA ์ ์น ์คํํธ์
- ์ค์, ์ผ๊ทผ์ ์์ ๋น์ฉ ์ ๊ณต
- ์ผ๊ทผ์ ๊ตํต๋น ์ง์
- ๊ฑด๊ฐ๊ฒ์ง๋น ์ง์ ๋ฑ
์ง๋ฌธ1
Class์ Struct์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
Class๋ ์ฐธ์กฐํ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ํ์์ญ์ ์ ์ฅ๋๊ณ , Struct๋ ๊ฐํ์์ผ๋ก ์คํ์์ญ์ ๋ณต์ฌ๋์ ์ ์ฅ๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ณดํต ์ฃผ๋ก Class๋ฅผ ์ฌ์ฉํ๋ ์๋๋ฉด Struct๋ฅผ ์ฌ์ฉํ๋์?
์๋ฌด๋๋ ์ ํ์๋ Struct๋ฅผ ๊ถ์ฅํ๊ณ ์๋ ๋งํผ ์คํ์์ญ์ ๋น ๋ฅด๊ฒ ์ค๋ฅด๋ด๋ฆด ์ ์๋ Struct๋ฅผ ์ฌ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
ํน์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํด๋ณธ์ ์๋์?
์๋์.. ์์ง ์ ์ ์ด๋ผ ๊ทธ๋ด ๊ธฐํ๊ฐ ์์์ต๋๋ค..
๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ํฉ์์ Struct๋ ๋ถ์ ํฉํ ์ ์์ต๋๋ค. ์๊ณ ์๋์?
์์.. ์ ๋ชจ๋ฅด๊ณ ์์์ต๋๋ค.. ์ฃ์กํฉ๋๋ค.
์ง๋ฌธ2
Overloading๊ณผ Overriding์ ์ฐจ์ด์ ๋ํด ์๊ณ ์๋์?
์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.. ์ฃ์กํฉ๋๋ค.
ํด์ผํ์ ๋ต๋ณ
Overloading์ ๊ฐ์ ์ด๋ฆ์ ํจ์์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ค๋ฅด๊ฒ ์ ์ธํ์ฌ, ํ๋์ ํจ์ ์ด๋ฆ์ ์ฌ๋ฌ ํจ์๋ฅผ ๋์์ํค๋ ๊ฒ์ ๋๋ค.
Overriding์ ์์ํด๋์ค์ ์์ฑ/๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ์ ๋๋ค.
์ง๋ฌธ3
GCD์ ๋ํด ์๊ณ ์๋๋๋ก ์ค๋ช ํด์ฃผ์ธ์.
DispatchQueue์ ๋ํ ๋ด์ฉ์ผ๋ก ๋ต๋ณํด๋ฒ๋ ธ์..
ํด์ผํ์ ๋ต๋ณ
GCD๋ ๋ฉํฐ์ฐ๋ ๋ฉ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ณ ํธํ๊ฒ ์ ๊ณตํ๋ API์ ๋๋ค.
GCD๋ DispatchQueue๋ฅผ ์ด์ฉํด ๋ฉํฐ์ฐ๋ ๋ฉ์ ์ง์ํฉ๋๋ค.
DispatchQueue๋ ์ฑ์ ๋ฉ์ธ์ค๋ ๋ ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์์ ์์ ์คํ์ ์์ฐจ์ ๋๋ ๋์์ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด์ ๋๋ค.
GCD๋ ์ด๋ฅผ ์ด์ฉํด์ ๋ฉํฐ์ฐ๋ ๋ฉ์ ์ง์ํ๊ณ ์์ต๋๋ค.
์ง๋ฌธ4
iOS์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ด๋ค ๊ฒ๋ค์ด ์์๊น์?
์ ๊ฐ SwiftUI์์ ํ๋ก์ ํธ๋ฅผ ํ์ ๋๋ Firebase์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ์์ต๋๋ค.
์๋์. ๊ทธ๋ฐ ๋ถ๋ถ ๋ง๊ณ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋๋ ์ด๋ค ๋ฐฉ๋ฒ๋ค๋ก ์ ์ฅํ๋์?
๋ก์ปฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ถ๋ถ์ ๋ง์ํ์๋ ๊ฑธ๊น์? (๋ง๋ค๋ฉด FileManager ๊ด๋ จํ์ฌ ๋ต๋ณ๋๋ฆฌ๋ คํ์์)
์๋จ. Keychain์ด๋, UserDefaults, CoreData ๊ฐ์ ๊ฒ๋ค์ ๋งํ๋ ๊ฑฐ ์์ด์.
์.. ์ ๊ฐ ์ ๊น ํผ๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
Keychain์ ๋ณด์ ๊ด๋ จ๋ ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ผ๋ก ์๊ณ ์๊ณ ,
UserDefaults๋ ํฌ๊ธฐ๊ฐ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ผ๋ก ์๊ณ ์์ต๋๋ค.
UserDefaults๊ฐ ํฌ๊ธฐ๊ฐ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ..์ผ๊น์?
UserDefaults์์ ์ผ์ ํ ํฌ๊ธฐ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด ์ฑ๋ฅ์ด ์ ํ๋๋ค๊ณ ๋ณธ ์ ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ ํํ๊ฒ ๊ธฐ์ต์ด ๋์ง๋ ์์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
ํด์ผํ์ด์ผํ๋ ๋ต๋ณ
UserDefaults๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์ฑ๊ธํค ์ธ์คํด์ค๋ก, ๊ฐ๋จํ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๋๊ฒ ๊ฐ๋ฅํ์ง๋ง
๋ด๋ถ์ ์ผ๋ก plist ํ์ผ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ณด์์ ๊ฐ๋ ฅํ์ง ์์ ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค.
์ง๋ฌธ5
iOS์์ CI/CD ์๋ํ์ ๋ํด ์์๋์?
๋ฐฐํฌ ์๋ํ์ ๊ด์ฌ์ด ์์ด ์ฐพ์๋ณธ ๊ธฐ์ต์ด ์์ต๋๋ค. fastlane์ ํตํด ํ ์ ์๋ค๋ ๊ฒ ์ ๋๋ง ์๊ณ ์์ต๋๋ค.
์ ๋ฆฌ์จ๋ iOS์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๊ฒ๋ค์ ๋ํ ๊ด์ฌ์ด ๋ถ์กฑํ๋ค๊ณ ๋๊ปด์ง๋ค์.
iOS ๋ด๋ถ์ ์ผ๋ก๋ CI/CD ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํด์ด ์์ต๋๋ค.
๋ฉด์ ์๊ฐ
์ด์ธ์ ๋ค๋ฅธ ์ง๋ฌธ๋ค๋ ์์๊ณ ์์ฒญ ๋ง์ ์ง๋ฌธ์ ๋ฐ์๋ค.
์ ๋๋ตํ์๋ ๋ธ๋ฆฌ๊ฒ์ดํธ ํจํด์ด๋ ํ๋ก์ ํธ ์ง๋ฌธ๋ค์ ์๋ตํ๋ค.
๋น์ฅ ํ์ ์ ํฌ์ ๋ ์ ์์ ์ ๋์ ์ง์์ ์ํ์๋ ๊ฒ ๊ฐ์๊ณ , SwiftUI๋ก ์ถ์ ๊ฒฝํ 1๋ฒ ์๋ ๋๋ก์๋ ๋๋ฌด ์ด๋ ค์ด ์ง๋ฌธ๋ค์ด ๋ง์๋ค.
์ ๋ฐ์ ์ผ๋ก UIkit์ ์๊ฐ์ ๋ง์ด ํฌ์ํ์ด์ผ ์ ๋ณผ ์ ์๋ ๋ฉด์ ์ด์๋ค.
'๐ง๐ปโ๐ผ ํ๊ธฐ > ๋ฉด์ ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํด์ปค์ค๊ต์ก๊ทธ๋ฃน iOS๋ถ๋ฌธ ํ๊ธฐ/๋ฉด์ ํ๊ธฐ (0) | 2023.05.12 |
---|---|
5. 2. ๋ฉด์ ํ๊ธฐ (0) | 2023.05.02 |