SwiftUI
-
@AppStorage์ UserDefaults์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 10. 17. 23:20
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป App์ ๊ฐ๋จํ๊ฒ ๊ฐ๋ค์ ์ ์ฅํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ!!๐ค ๋ฐ๋ก๋ฐ๋ก UserDefaults!!! ์ด๋ฒ ์๊ฐ์๋ UserDefaults์ iOS 14๋ถํฐ ์๋ก ์๊ธด SwitUI์ AppStorage์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค! ์ ๊ทธ๋ผ ํจ๊ป ๋ฝ๊ฐ๋ด ์๋น! UserDefaults Apple์์๋ "App์ ์คํํ๋ ๋์ ์ง์์ ์ผ๋ก key-value๋ก ์ ์ฅํ๋ ์ฌ์ฉ์์ ๊ธฐ๋ณธ Database์ ๋ํ Interface"๋ผ๊ณ ์ค๋ช ์ ํ์ด์! ์ฝ๊ฒ ๋งํด ๋ณ๋์ DB ์์ด App์ ๋ด๊ฐ ์ํ๋ ๊ฐ์ ์ด๋ค Key์ ํจ๊ป ์ ์ฅํ๊ณ , ์ธ์ ๋ ๊ทธ Key๋ฅผ ํตํด ๊ฐ์ ๋ถ๋ฌ๋ผ ์ ์๋ ๊ฒ์ด์ฃ . ๋จ, String, Bool, Int, Array ๋ฑ ๋จ์ผ Data๋ฅผ ์ ์ฅํ๋ ๋ฐ์ ์ ํฉํ๊ธฐ ..
-
NavigationView, NavigationLink์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 9. 26. 02:38
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์ค์ ๋ฅผ ์จ๋ด์ ์๊ฐ์~ iOS App์ ๋ณด๋ฉด TabBar์ ํจ๊ป ์์ฃผ ์ฐ์ด๋ NavigaionView! ๊ทธ๋ฆฌ๊ณ NavigationView์ ์ด๋์ ์ํด ์ฌ์ฉ๋๋ NavigationLink์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. NavigationView์ Bar์ ๋ํ ์ค๋ช ์ ์๋ ์ปค์คํ ๋ฐฉ๋ฒ์ด ๋ง๊ณ ๋ค์ํด์ ๋ฐ๋ก ๋ค๋ค๋ณด๋๋ก ํ ๊ฒ์! ๊ทธ๋ผ ์ผ๋จ ์ด ๋์ ๋จผ์ ํํค์ณ๋ด ์๋ค! ๋จผ์ NavigationView์ ์ ์๋ฅผ ์ดํด๋ณผ๊ฒ์~ Apple Deverloper ์ฌ์ดํธ์์๋ ํ์ ๊ณ์ธต ๊ตฌ์กฐ์์ ๋ณด์ด๋ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ View์ Stack์ ํ์ํ๊ธฐ ์ํ View ๋ผ๊ณ ์ ์๋ฅผ ๋ด๋ฆฌ๊ณ ์์ต๋๋ค. ์ฌ์ด ์์๋ก ๊ธฐ๋ณธ App์ธ Setting์ ๋ณด์๊ฒ ๋๋ฉด ์ด๋ค ์์๋ฅผ ํฐ์นํ๋ฉด ์์ผ๋ก ์ฑ..
-
Text Attributed์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 9. 13. 01:00
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์๊ฐ์๋ Text๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์ด์๊ฒ ๊พธ๋ฏธ๋(?) ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ๊น ํฉ๋๋ค. ์ด์ ์ Swift์์๋ NSAttributedString์ ์์ํ๋ NSMutableAttributedString Class์ Instance๋ฅผ ์์ฑ ํ ํด๋น Instance์ ์ฌ๋ฌ ์กฐ๊ฑด๋ค์ ๋ฃ์ด์ค ๋ค ์ด๋ฅผ UILabel์ attributedText์ ๋์ ํ๋ ๋ฐฉ์์ผ๋ก Text๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์์ ํ์ต๋๋ค. ํ์ง๋ง SwiftUI๊ฐ ๋์ค๊ณ ์ผ๋ง์ ์๊ฐ์ด ํ๋ฅธ ๋ค ์ด๋ฐ ๋ฐฉ์๋ ๋ง์ด ๋ฐ๋์๋๋ฐ์! ์ด๋ป๊ฒ ๋ฐ๋์๋์ง ํจ๊ป ๋ด ์๋ค! ๊ธฐ์กด์ NSMutableAttributedString์ ํ์ฉํ ๋ฐฉ์ ๊ธฐ์กด์ ๋ ์ฌ์ฉํ๋ ๋ฐฉ์์ด์์! ViewController์ UILabel์ ์ ์ฉํ๋ ๋ฐฉ์..
-
@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 ํด์ผ ํ๊ธฐ ๋๋ฌธ..
-
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ํด๋ ๋ผ์! ๊ทธ๋ผ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ์ ๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋..
-
Prologue์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 8. 1. 21:48
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ค๋์ SwiftUI์ ๊ฐ๋จํ ๊ธฐ๋ณธ ๋ฌธ๋ฒ๋ค์ ๋ํด ๊ณต๋ถํ๋ ค๊ณ ํฉ๋๋ค! ์ ๋ง ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค๋ง ํ๋ฒ ์ค๋น๋ฅผ ํด๋ดค์ด์ฉใ ใ ์ข ๋ ๊น๊ฒ ๊ณต๋ถํ๊ณ ์ถ์ผ์๋ค๋ฉด! Apple์์ ์ ๊ณตํด์ฃผ๋ ํํ ๋ฆฌ์ผ์ ํด๋ณด์๋๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค!! ์ ๋ ์ด๊ฑธ๋ก ํ๋ฒ ์น~ ํด๋ณด๋๊น ์ดํด๊ฐ ๊ฐ๋๋ผ๊ตฌ์ใ ใ ใ ์๊ธฐ ๋งํฌ์ ๋๋ค! https://developer.apple.com/tutorials/swiftui ์ ๊ทธ๋ผ SwiftUI ์ฒซ ์๊ฐ! ๋ง๋ง ํ๋ฒ ์ด์ง ๋ด ์๋ค! ์ดต์ดต๐ด SwiftUI๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ํํ ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ViewController๊ฐ ์๋ ContentView ํ์ผ์ ๋ณด๊ฒ ๋ฉ๋๋ค. ๋ด๋ถ๋ฅผ ํ๋ฒ ๋ณผ๊น์? SwiftUI๋ ์ฐ์ธก์ ์๋ Canvas๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก UI๋ ๋์๋ค์ ..
-
์๋ ํ์ธ์! ์์ด๋ ์ ๋๋ค!๊ณต์ง์ฌํญ 2021. 7. 13. 13:34
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ค๋๋ง์ ๋ธ๋ก๊ทธ์ ๊ธ์ ์ฌ๋ฆฌ๋ ๊ฒ ๊ฐ์์ใ ใ 2019๋ ์ ์ฒ์ iOS๋ฅผ ๊ณต๋ถํ๋ฉฐ Medium์ด๋ผ๋ ํ๋ซํผ์์ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ๋ธ๋ก๊ทธ๋ฅผ ์์ํ๋๋ฐ, ์ทจ์ ํ ๋ฐ์๋ค๋ ํ๊ณ๋ก ๋ธ๋ก๊ทธ ๊ด๋ฆฌ์ ๋๋ฌด ์ํํ์ต๋๋คใ ์ด๋๋ก ๊ณ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐฉ์นํ๋ฉด ์ ๋๊ฒ ๋ค๋ ์๊ฐ๊ณผ ํจ๊ป ์๋ก์ด ๋ง์์ผ๋ก ์์ํด๋ณด์๋ ๋ง์์ผ๋ก ์๋ก์ด ํ๋ซํผ์์ ๋ธ๋ก๊ทธ๋ฅผ ์์ํ๊ณ ์ ํฉ๋๋ค. ๊ทธ๋์ ์ ์ ๊ธ๋ค์ ์ข์ํด ์ฃผ์ จ๋ ๋ถ๋ค์ ์ํด์๋ผ๋ ๊พธ์คํ ์ฐ๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค! ์ง๋ ๋ธ๋ก๊ทธ๋ ์ ๋ง ์ ๋ฆฌ ๋ชฉ์ ์ด๋ผ ๋ง์ด ๋ฑ๋ฑํ๋ค๋ฉด, ์ด์ ์ ๋ง ์ ๊ฐ ๋๊ตฐ๊ฐ์๊ฒ ๊ณต์ ํ๋ฏ์ด ์จ๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ด์ ๋ธ๋ก๊ทธ์ ์๋ ๋ด์ฉ์ ์์ฐจ์ ์ผ๋ก ์ด ๋ธ๋ก๊ทธ์ ์ฎ๊ธด ์์ ์ด๊ณ ์ใ ใ ใ ์นดํ ๊ณ ๋ฆฌ๋ ๋๋ต ๋ค์๊ณผ ๊ฐ์ ๊ฒ ๊ฐ์์ฉ Category Cont..