IOS
-
@State, @Binding, @ObservedObject, @EnvironmentObject์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 9. 5. 02:40
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์์ฆ ์ฑ ๊ฐ๋ฐ์ ๊ฑฐ์ SwiftUI๋ง ์ฐ๊ณ ์๋๋ฐ, ํ์คํ ์ด์ ์ ViewController๋ฅผ ํ์ฉํ ๋ ๋ณด๋ค ์ข์ ์ ์ด ๋๋ฌด ๋ง๋๋ผ๊ตฌ์ใ ใ (์ฌ..์ฌ๋ํด ์ ํ..) ๊ทธ์ค @State. @Binding์ด ๋๋ฌด ํธํด์ ๊ณต์ ํด๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์ค๋ฌด์คํ๊ฒ~ ๋ค์ด๊ฐ๋๋ค! @State, @Binding @State 1. ์ํ๋ก ์ ์ธํ ๋ชจ๋ ์์ฑ์ ์ ์ฅ์๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. 2. ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ฉด View๋ฅผ ๋ค์ ๊ทธ๋ฆฝ๋๋ค. 3. Value Type์ด ์๋๊ณ , Value๋ฅผ ๋ณ๊ฒฝํ๋ ์๋จ์ ๋๋ค. ๊ฐ์ ์ ๊ทผํ๋ ค๋ฉด wrapValue ์์ฑ ๊ฐ์ ๋ฐํํ๋ ๋ณ์๋ฅผ ์ฌ์ฉํด์ ์ ๊ทผ์ ํด์ผ ํฉ๋๋ค! 4. View์ ๋ด๋ถ ๋๋ View์์ ํธ์ถํ Method์์๋ง Access ํด์ผ ํ๊ธฐ ๋๋ฌธ..
-
Protocol 1ํธ (Protocol ์ ์ ๋ฐฉ๋ฒ)์ค๋์ Swift ์์ 2021. 8. 16. 18:19
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์๊ฐ์ Protocol์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค! ์ด๋ฒ ์๊ฐ์ ๋ด์ฉ์ด ์ข ๋ง์์. ๊ทธ๋์ 1,2ํธ์ผ๋ก ์งํํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ๊ทธ๋ฅ ๋ค์ด๊ฐ์์ฃ ~ Protocol์ ์ฝ๊ฒ ๋งํด ์ฒญ์ฌ์ง์ด๋ผ๊ณ ๋ณผ ์ ์์ด์. Property๋ Method๋ฅผ ์ ์ํ์ฌ ํด๋น Protocol์ ์ฑํํ๋ฉด ๋ด๋ถ๋ง ๋ฐ๋ก ๊ตฌํ์ ํ๋๊ฑฐ์ฃ ! Protocol์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1. Struct, Class, Enum์ Protocol์ ์ฑํํด์ ํน์ ๊ธฐ๋ฅ์ ์คํํ๊ธฐ ์ํ Protocol์ ์๊ตฌ์ฌํญ์ ์ค์ ๋ก ๊ตฌํํ ์ ์์ต๋๋ค. 2. Protocol์ ์ ์๋ฅผ ํ๊ณ ์ ์๋ฅผ ํ ๋ฟ ์ค์ค๋ก ๊ธฐ๋ฅ์ ๊ตฌํํ์ง๋ ์์ต๋๋ค. (์กฐ๊ฑด๋ง ์ ์) 3. ํ๋์ Type์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด Typ..
-
Class์ ์์์ค๋์ Swift ์์ 2021. 8. 15. 21:07
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ค๋์ Class์ ์์์ ๋ํด์ ์์๋ณผ๊ฒ์! ์์์ด๋ผ๋ ๊ฐ๋ ์ ๋ค๋ฅธ ์ธ์ด๋ค์์๋ ๋ง์ด ์๋ ๊ฐ๋ ์ธ๋ฐ์ ๊ณผ์ฐ Swift์์๋ ์ด๋จ์ง ๊ฐ์ด ์์๋ณด๋๋ก ํฉ์๋ค! ์์!!! ์ ๋จผ์ ์์์ ๊ฐ๋ ์ ๋ํด ์ค๋ช ๋๋ฆด๊ฒ์. ์์์ด๋ ํ Class๊ฐ ๊ฐ์ง๊ณ ์๋ Property์ Method๋ฅผ ๋ค๋ฅธ Class์๊ฒ ๊ทธ๋๋ก ์น๊ณํด์ฃผ๋ ๊ฒ์ ๋งํฉ๋๋ค. Swift์์์ ์์์ ์ด๋ค์ง ๋ณผ๊น์? 1. Class์๋ง ์๊ณ , Struct์๋ ์์ต๋๋ค. 2. ์์ Class๊ฐ ๋ถ๋ชจ Class๋ก๋ถํฐ ๊ธฐ๋ฅ์ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ 3. ์น๊ณํด์ฃผ๋ Class๋ ๋ณดํต ๋ถ๋ชจ/์ํผ/์์ Class๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. 4. ์น๊ณ๋ฐ๋ Class๋ ๋ณดํต ์์/์๋ธ/ํ์ Class๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. 5. ์์๋ฐ์ Class๋ ..
-
Custom TabBar์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 8. 15. 01:37
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ค์ ๋ฅผ ์จ๋ด์ ! ๋ ๋ฒ์งธ ์๊ฐ! iOS App์ ๋ณด๋ฉด ํํ ๋ณด์ด๋ TabBar! ๋ฐ๋ก TabBar๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ๋ค์ ์์๋ณด๊ฒ ์ต๋๋ค! ์ด๋ฒ ์๊ฐ์ ๋ฐ๋ก TabBar์ ๋ํ ์ค๋ช ํ๊ณ , ๊ตฌํํ๋ ๋ฐฉ๋ฒ๋ง ์งง๊ฒ ์์๋ณด๊ฒ ์ต๋๋ค! ์ ํ ๊ฐ๋ฐ์ ๋ฌธ์(TabView)์ ์์ ์ ํจ๊ป ์ ๋์์์ผ๋ ์ด ๋ถ๋ถ์ ์ฐธ์กฐํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์์! https://developer.apple.com/documentation/swiftui/tabview/ ๊ทธ๋ผ ์คํ๋จ!! ๐ถ๐ต TabBar๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ด์! ๋ค๋ฅธ ์์๋ค๋ ๋ง์ฐฌ๊ฐ์ง์ด๊ฒ ์ง๋ง Apple์์ ์ ๊ณตํ๋ TabView๋ฅผ ์จ๋ ๋๊ณ ๋ค๋ฅธ ์์๋ค์ ํ์ฉํด์ Customํด๋ ๋ผ์! ๊ทธ๋ผ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ์ ๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋..
-
Initializer 2ํธ (Class์ Initializer)์ค๋์ Swift ์์ 2021. 8. 8. 22:48
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ง๋ ์๊ฐ ๊ฐ ํ์ ์ Initializer์ ๋ํด์ ์์๋ณด์์ฃ ? ์ด์ด์ ๋ฐ๋ก Class์ Initializer์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ๋น ๋ฅด๊ฒ ๋ค์ด๊ฐ ๋ด ์๋ค~ Class์ Initializer์๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ด ์์ด์! Class๋ ๋ณธ์ธ์ด ๊ฐ์ง๊ณ ์๋ Property ๋ฟ๋ง ์๋๋ผ ๋ถ๋ชจ Class์์ ์์๋ Property๋ค๋ ์ด๊ธฐ๊ฐ๋ค์ ์ง์ ํด์ค์ผ ํฉ๋๋ค! ํจ์ฌ ๋ณต์กํด์ง์ฃ ? ๊ทธ๋์ Class๋ ๋ค๋ฅธ Type์๋ ์๋ Initializer๋ค์ด ์๋ต๋๋ค! Class๋ง์ด ๊ฐ์ง๋ Initializer Designated Initializer ํํ ๋ณด๋ ๊ธฐ๋ณธ์ ์ธ Initializer์์! ๋ถ๋ชจ Class์ Initializer๋ฅผ ํธ์ถํ ์ ์์ด์. Class ..
-
Initializer 1ํธ (Struct์ Initializer)์ค๋์ Swift ์์ 2021. 8. 8. 00:48
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์๊ฐ์ Initializer์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค! ์ฒ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ฐ์ด๋ ์์ฃผ ์ค์ํ ๋ ์์ด์ฃ ! ์ง๋ ์๊ฐ์ Struct, Class์ ๋ํด์ ์์๋ณด์ จ์ฃ ? ์ด ๋์ Initializer๋ฅผ ์ฐ๋ ๋ฒ๋ ์กฐ๊ธ ๋ค๋ฅด๋ต๋๋ค. ์ ๊ทธ๋ผ Initializer ์ฒซ ๋ฒ์งธ ์๊ฐ! Initiazlier์ ๊ธฐ๋ณธ ๋ถํฐ Struct์ Initializer๊น์ง ํ๋ฒ ์์๋ด ์๋ค ๋ฐ๋ผ์ค์์ฃ !!! ์ผ๋จ ์ด๊ธฐํ์ ๊ฐ๋ ์ ๋ํด ๋จผ์ ์๊ณ ๊ฐ๋ณด์ฃ ์ฝ๊ฒ ๋งํด ๊ณต์ฅ ์ด๊ธฐํ ์์์ฃ ? ์ด๊ธฐ์ ์ด ์ํ์ด ๋์ฌ ๋์ ์ํ๋ก ์ธํ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ๋ณด์๋ฉด ๋ ๊ฒ ๊ฐ์์! ๊ณต์ฅ์์ ๋์ค๋ ์ ํ์ฒ๋ผ Class, Struct, Enum ๋ฑ์ Instance๋ฅผ ์ฒ์ ์์ฑํ ๋ ํ์ํ ๊ฐ๋ค์ ๋ฃ์ด์ฃผ๋ ๊ณผ์ ..
-
Prologue์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 8. 1. 21:48
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ค๋์ SwiftUI์ ๊ฐ๋จํ ๊ธฐ๋ณธ ๋ฌธ๋ฒ๋ค์ ๋ํด ๊ณต๋ถํ๋ ค๊ณ ํฉ๋๋ค! ์ ๋ง ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค๋ง ํ๋ฒ ์ค๋น๋ฅผ ํด๋ดค์ด์ฉใ ใ ์ข ๋ ๊น๊ฒ ๊ณต๋ถํ๊ณ ์ถ์ผ์๋ค๋ฉด! Apple์์ ์ ๊ณตํด์ฃผ๋ ํํ ๋ฆฌ์ผ์ ํด๋ณด์๋๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค!! ์ ๋ ์ด๊ฑธ๋ก ํ๋ฒ ์น~ ํด๋ณด๋๊น ์ดํด๊ฐ ๊ฐ๋๋ผ๊ตฌ์ใ ใ ใ ์๊ธฐ ๋งํฌ์ ๋๋ค! https://developer.apple.com/tutorials/swiftui ์ ๊ทธ๋ผ SwiftUI ์ฒซ ์๊ฐ! ๋ง๋ง ํ๋ฒ ์ด์ง ๋ด ์๋ค! ์ดต์ดต๐ด SwiftUI๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ํํ ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ViewController๊ฐ ์๋ ContentView ํ์ผ์ ๋ณด๊ฒ ๋ฉ๋๋ค. ๋ด๋ถ๋ฅผ ํ๋ฒ ๋ณผ๊น์? SwiftUI๋ ์ฐ์ธก์ ์๋ Canvas๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก UI๋ ๋์๋ค์ ..
-
Struct, Class์ค๋์ Swift ์์ 2021. 7. 18. 20:36
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ๋๋์ด! ๋ณธ๊ฒฉ์ ์ผ๋ก Swift์ ๊ด๋ จ๋ ๊ณต๋ถ๋ฅผ ํ ์ฐจ๋ก์ ๋๋ค! ํ๋ก๊ทธ๋จ ์ธ์ด์๋ ๋ง์ ํ์ ๋ค์ด ์์ฃ . String, Int, Bool,... ๋ฑ๋ฑ ์ด๋ฒ ์๊ฐ์๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ๋ ์์ผ๋ฉด ์ ๋๋ Struct, Class์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํ์ ์ ์ธ์ด๋ณ๋ก ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ Swift์์์ Struct, Class๋ฅผ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ ๊ทธ๋ผ ๋ฐ๋ก ๋ค์ด๊ฐ~๋ด ์๋ค!! ํํณ๋ผํ ๋ผํํ Struct, Class๋ ์ฝ๊ฒ ๋งํด ๋ฐ์ดํฐ๋ฅผ ์๋ง๊ฒ ๋ฌถ์ด ์ปค์คํ ํ ๋ฐ์ดํฐ ํ์ ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค! ๋ ๋ค ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํด์ ๊ด๋ฆฌ๋ฅผ ํธ๋ฆฌํ๊ฒ ํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋์ฃ ! ์ด๋ฒ ์๊ฐ์๋ Struct, Class์ ํฐ ํน์ง, ๊ณตํต์ , ์ฐจ์ด์ ์์ฃผ๋ก ์ค๋ช ๋๋ฆด ๊ฑฐ๋ผ ๋ง์ ๋ถ๋ถ ์์ ๋ธ๋ก๊ทธ..