์ ์ฒด ๊ธ
-
projectedValueSwift 2023. 1. 17. 19:52
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ProjectedValue์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ์ด์ ์ Property Wrapper๋ฅผ ํฌ์คํ ํ๋ค ProjectedValue๋ผ๋ ๊ฒ์ ๋ํด ๋ค์์ ์ธ๊ธํ๋ค๊ณ ํ๋๋ฐ ๋ฒ์จ ์๊ฐ์ด ๋ง์ด ์ง๋ฌ๋ค์! ๊ทธ๋์ ์ด๋ฒ์๋ ๊น๋จน์ง ์๊ณ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋คใ ใ Property Wrapper๊ฐ ๋จผ์ ์ ํ์ด ๋์ด์ผ ์ดํดํ๊ธฐ๊ฐ ์์ํจ์ผ๋ก ํน์ ๊ฐ๋ ์ ๋ค์ ๋ณต์ตํ๊ณ ์ถ์ผ์๋ค๋ฉด ์๋ ํฌ์คํ ๋ถํฐ ๋ด์ฃผ์ธ์๐ https://green1229.tistory.com/238 Property Wrapper ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ Property Wrapper๋ฅผ ์์๋ณด๋ คํฉ๋๋ค๐ Property Wrapper? Swift 5.1์์ ์ฒ์ ์๊ฐ๋์ด ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ผ๋ก ํ๋กํผํฐ..
-
ArraySliceSwift 2023. 1. 12. 15:20
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐์ด๋ฒ ํฌ์คํ ์ ArraySlice์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ์ด์ ์ Swift์์ ๋ฌธ์์ด ์ฒ๋ฆฌ์ ๋ํด ํ์ตํด๋ณธ์ ์ด ์์ต๋๋ค.split ๋ฉ์๋๋ก ๋ฌธ์์ด์ ๋ถ๋ฆฌํ ๋ ๋ฐํ๋๋ ํ์ ์ด SubSequence Array ํ์ ์ด์์ด์.์ฆ ์ฌ๊ธฐ์ ๋ค์ ํฌ์คํ ์์ ์ง๊ณ ๋์ด๊ฐ์๊ณ ํ SubSequence๋ผ๋๊ฒ์ ArraySlice์ ๋ณ์นญ์ด๊ธฐ์ ArraySlice์ ๋ํด ๊ฐ๋จํ ์์๋ณด๊ฒ ์ต๋๋ค๐ฅธํน์ ๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ๋จผ์ ๋ณด๊ณ ์ค๊ณ ์ถ์ผ์๋ฉด ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!https://green1229.tistory.com/318 Swift์ ๋ฌธ์์ด ์ฒ๋ฆฌ (split vs components)์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์์์ ๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ๋ ๋ฉ์๋ split๊ณผ compo..
-
Opaque TypesSwift 2023. 1. 9. 11:48
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ Opaque Types์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ SwiftUI์์ ๊ฐ์ฅ ๋ง์ด ์ ํด๋ณผ ์ ์๋ ํค์๋๊ฐ ์์ต๋๋ค. ๋ฐ๋ก some์ด๋ผ๋ ํค์๋์ธ๋ฐ์. struct CustomView: View { var body: some View { // CustomView ๊ตฌํ } } ์ฌ๊ธฐ์ View ํ๋กํ ์ฝ ์์ some์ด๋ผ๋ ํค์๋ ๋ณด์ด์์ฃ ? ์ด๊ฒ ์ค๋ ๋ฐฐ์๋ณผ opaque type์ ๋๋ค. Swift 5.1์์ ์๋กญ๊ฒ ๋์จ Swift์ ๊ธฐ๋ฅ์ด๊ณ iOS 13๋ถํฐ ์ ์ฉ๋์ฃ . ์ ๊ทธ๋ผ ์๋ก ์ ์ฌ๊ธฐ๊น์ง๊ณ Opaque Types์ด ๋ญ์ง ์ด์ ์์๋ณด๊ฒ ์ต๋๋ค๐บ๐ป Opaque Types? opque์ ์ฌ์ ์ ์ธ ์๋ฏธ๋ ๋ถํฌ๋ช ํ๋ค๋ ๋ป์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ๋์ ์ค๋ ํ์ตํด๋ณผ..
-
2022๋ iOS ๊ฐ๋ฐ์๋ก์์ ํ๊ณํ๊ณ 2023. 1. 6. 11:04
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ 1๋ ๋ง๋ค ํ๋ฒ๋ง ๋ฑ ์ฐพ์์ค๋ ์ฃผ์ ์ ๋๋ค. ๋ฐ๋ก๋ฐ๋ก 1๋ ์ ๋์๋ณด๋ฉฐ ํ๊ณ ๋ฅผ ํ๋ ์๋ฆฌ์ ๋๋ค๐ ๋ฒ์จ iOS ๊ฐ๋ฐ์ ์์ํ๋ฉฐ ์ฒซํด์๋ ๋ชปํ์ง๋ง ์ด๋๋ง 2๋ฒ์งธ ํ๊ณ ๋ฅผ ์ฐ๊ฒ ๋์๋ค์! ๊ทธ๋งํผ ์๊ฐ๋ ๋น ๋ฅด๊ฒ ํ๋ฌ๊ฐ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๋ง์๊ฒ๋ ์ด๋ค๋ค ์๊ฐํ๊ธฐ์ 2022๋ ํํด๋ ์ด๋ ๋์ง ์ฒดํฌํ๊ณ 2023๋ ์ ๊ณํ๋ ์ธ์๋ณด๋ คํด์๐ ์ด๋ฒ์๋ ๋ฌดํ์ ๋ฌด๊ทผ๋ณธ์ ํ๊ณ ์ ๋๋ค! 1๋ ํ ์ ์์ ์ด ๋ณด๊ณ ๋๋ผ๊ธธ ๋ฐ๋ผ๋ ํ๊ณ ๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค๐ ํ๊ณ ๋ชฉ์ฐจ 1๏ธโฃ 2022๋ ๋ชฉํ ๋ฌ์ฑ ์ฒดํฌ 2๏ธโฃ 2022๋ ๊ฐ๋ฐ์๋ก์ ์ฑ์ฅํ ๋ถ๋ถ 3๏ธโฃ 2022๋ ๊ฐ๋ฐ์๋ก์ ์์ฌ์ ๋ ๋ถ๋ถ 4๏ธโฃ 2023๋ ๊ฐ๋ฐ์๋ก์ ๋ชฉํ 5๏ธโฃ 2023๋ ๊ฐ๋ฐ ์ธ์ ๋ชฉํ 6๏ธโฃ ์ด์ ๋ฆฌ ๋ฐ ์๊ฐ ์ ๊ทธ๋ผ ์์ํ๊ฒ ์ด๋ค๐บ๐ป 1๏ธโฃ 2..
-
Swift์ ๋ฌธ์์ด ์ฒ๋ฆฌ (split vs components)Swift 2023. 1. 6. 09:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์์์ ๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ๋ ๋ฉ์๋ split๊ณผ components์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ Swift ์ธ์ด์ ํน์ฑ์ ๋ฌธ์์ด์ ํ ์ธ์ด๋ณด๋ค ๋ค๋ฃจ๊ธฐ๊ฐ ์กฐ๊ธ ๊น๋ค๋ก์์๐ฅฒ ์ฝ๊ฒ Subscript๋ฅผ ํตํด Int ์ธ๋ฑ์ค ์ฐธ์กฐ๊ฐ ๋ถ๊ฐ๋ฅํ์ฌ ์ฝ๊ฒ ๋ฌธ์์ด์์์ ๋ฌธ์๋ฅผ ๋นผ์ฌ ์ ๋ ์๊ณ index๋ฅผ ํตํด์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ์ฃ . ์ด์ ๊ด๋ จํด์ Swift์์๋ ๋๋์ฒด ์ ๊ทธ๋ฐ์ง ๊ถ๊ธํ์๋ค๋ฉด ์๋ ํฌ์คํ ์ ๋จผ์ ๋ณด๊ณ ์ค์ ๋ ์ข์ต๋๋ค! https://green1229.tistory.com/286 Subscript์ ๋ํด ์์๋ณด๊ธฐ (feat.String) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ค๋ ํฌ์คํ ์ Subscript์ ๋ํด ์์๋ณด๋ฉฐ Swift ์ธ์ด์์๋ง ์ String์ ๋ค๋ฃฐ๋ Su..
-
addingPercentEncoding(withAllowedCharacters:)Swift 2023. 1. 2. 21:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ addingPercentEncoding(withAllowedCharacters:)์ด๋ผ๋ ๋ฉ์๋์ ๋ํด์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ์ ํ์ํ ๊น์? ๋คํธ์ํฌ ํต์ ์ URL ํค๋ ํ๋ผ๋ฏธํฐ๋ก ํ๊ธ์ด ํฌํจ๋ key ๊ฐ์ ๋๊ฒจ์ค๋๊ฐ ์์๊ฑฐ์์. ๊ทธ๋ด๋ ์ธ์ฝ๋ฉ์ ์๋ํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํด์ง ํ์ ์ ๋ฐ๋ผ ์ธ์ฝ๋ฉ์ด ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ํ๊ธ์ด๋ ํน์๋ฌธ์ ๋ฐ ๊ณต๋ฐฑ ๋ฑ์ด ํฌํจ๋์ง ์์๊ธฐ์ ์ ํจํ์ง ์์ URL์ ์์ฒญํ๊ฒ ๋๊ณ ์ ์์ ์ธ ๋์์ ํ์ง ์์ต๋๋ค๐ญ ์๋ฅผ๋ค์ด ์๋์ ๊ฐ์ด URL์ ๋ณด๋ด๋ฉด ๋ฌธ์ ๋ฅผ ์ผ์ผ์ผ์! let url = URL("https://itunes.apple.com/search?term=๋ชฝ์ค&entity=software"!) // ๋คํธ์ํฌ ํต์ ๋ชฝ์ค์ด๋ผ๋ key๊ฐ ๋ค์ด๊ฐ์ ๊ทธ..
-
Nib & Xib (feat. storyboard)iOS 2022. 12. 29. 10:20
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Nib์ Xib์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ UI ๊ตฌํ ์ข ๋ฅ ์ฐ๋ฆฌ๊ฐ iOS ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด UI ์ฆ, ํ๋ฉด์ ๊ทธ๋ฆฌ๋๊ฒ์ ๋นผ๋์ ์๊ฐ ์์ต๋๋ค. iOS์์๋ ์ด UI๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด 3๊ฐ์ง๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค. 1. ์คํ ๋ฆฌ๋ณด๋๋ก ๊ตฌํํ๊ธฐ 2. ์ฝ๋๋ก ๊ตฌํํ๊ธฐ 3. Nib, Xib๋ก ๊ตฌํํ๊ธฐ ์ฌ๊ธฐ์ ์ค๋ ์์๋ณผ ๊ฒ์ด ์ธ๋ฒ์งธ Nib, Xib๋ก ๊ตฌํํ๋๊ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐บ๐ป ์ฐ์ ๊ทธ๋ผ Nib์ Xib์ ์ ์๋ถํฐ ์์๋ณด์์ฃ ! Nib Nib๋ Nextstep Interface Builder์ ์ฝ์์ ๋๋ค. iOS / MacOS์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ฅํ๋ ํ์ผ์ด์ฃ . Nib๋ UI๋ฅผ ๊ทธ๋ฆฌ๋๊ฒ์ ์์ด์ ๋ฐ์ด๋๋ฆฌ ํ์์ ์์ถ ํ์ผ์ ์ด์ฉํด ํ์ํ ํด๋์ค๋ค..
-
SwiftUI - View๋ฅผ ๊ตฌ์กฐ์ฒด๋ก ์์ฑํ๋ ์ด์SwiftUI 2022. 12. 26. 09:13
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐์ ๋ฒ ํฌ์คํ ์์๋ SwiftUI์ View ํ๋กํ ์ฝ์ ๋ํด ์์๋ดค์ด์!ํน์ ์๋ณด์ จ๋ค๋ฉด ์๋ ํฌ์คํ ์ ๋จผ์ ๋ณด๊ณ ์ค์๋ฉด ๋ ๋์์ด ๋ฉ๋๋ค๐https://green1229.tistory.com/314 SwiftUI - View์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ View Protocol์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ SwiftUI๋ก ๋ทฐ๋ฅผ ๋ง๋ค๋ฉด์ ๊ผญ ๋ง๋๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ๋ฐ๋ก View๋ฅผ ์ฑํํ๋๊ฒ์ธ๋ฐ์. ๊ทธ๋ฌ๋๊น ์ด Viewgreen1229.tistory.com ์ ๋ฒ ํฌ์คํ ๋ง๋ฏธ์ ์ฐ๋ฆฌ๊ฐ SwiftUI์์ View๋ฅผ ์ ์ํ ๋ ๊ตฌ์กฐ์ฒด๋ก ์ ์ํ๋ ์ด์ ์ ๋ํด ์์๋ณธ๋ค๊ณ ํ์์ต๋๋ค๐์ค๋ ๊ทธ๊ฑฐ ํ๋ฒ ์์๋ณด์์ฃ :D ์ค๋ ํฌ์คํ ์ ๊ตฌ์กฐ์ฒด์ ํด๋์ค๊ฐ ๋ฌด์์ธ์ง ๊ทธ๋ฆฌ๊ณ ์ฐจ..