์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ๋ถํ ์ ๋ณต
- ๋ธ๋ฃจํธํฌ์ค
- ๋ฐฑํธ๋ํน
- dp
- Queue
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- Swift
- ์ฝํ
- ๋ถํ ์ ๋ณต
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝ๋ฉํ ์คํธ
- SwiftUI
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- WebView
- WebApp
- ๋ฌธ์์ด
- ์คํ
- ios
- ์๊ณ ๋ฆฌ์ฆ
- ์ด์งํ์
- ๋์ ํฉ
- dfs
- ๋ถํ ํ์
- BFS
- ์์
- ๋นํธ์ฐ์ฐ์
- ๋ฐฑ์ค
- Today
- Total
๋ชฉ๋ก๐ iOS ๊ฐ๋ฐ/SwiftUI (3)
MUKER_DEV with iOS

preview๋ ๊ธฐ๋ณธ์ ์ผ๋ก canvas์ ์ํ๋ ๊ธฐ์ข ์ ๋ชจ์์ผ๋ก ๋ฟ๋ ค์ค๋ค. ์ด๋ ์ํ๋ ํฌ๊ธฐ ๋งํผ์ layout์ผ๋ก preview๋ฅผ ์ค์ ํ๊ณ ์ถ๋ค๋ฉด .previewLayout ์์์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. .previewLayout(.fixed(width: 300, height: 70)) Group์ ์ง์ด์ ์ฌ๋ฌ๊ฐ์ ๋ทฐ๋ฅผ ํ๋ฒ์ canvas์ ๋์ธ ์ ์์ต๋๋ค. struct LandmarkRow_Previews: PreviewProvider { static var previews: some View { Group { LandmarkRow(landmark: landmarks[0]) LandmarkRow(landmark: landmarks[1]) } .previewLayout(.fixed(width: 300, ..

BundleExtension.swift extension Bundle { func decode(filename: String, as type: T.Type) -> T { guard let url = self.url(forResource: filename, withExtension: nil) else { fatalError("๋ฒ๋ค์ \(filename)์ด ์์ต๋๋ค.") } guard let data = try? Data(contentsOf: url) else { fatalError("\(url)๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.") } guard let decodedData = try? JSONDecoder().decode(T.self, from: data) else { fatalError("๋ฐ์ดํฐ ๋ณตํธ..

์ ์ธํ ๋ฐฉ์ SwiftUI๋ ๋ฌด์(What)์ ์ด์ ์ ๋ง์ถฅ๋๋ค. ๋ช ๋ นํ ๋ฐฉ์์ด ์ด๋ป๊ฒ(How)์ ์ด์ ์ ๋ง์ถ๋๊ฒ๊ณผ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์ธํ ๋ฐฉ์์ผ๋ก ํ์คํ๋ฅผ ๋ง๋ ๋ค๋ฉด "ํ์คํ ํ ๊ทธ๋ฆ ๋ง๋ค์ด์ฃผ์ธ์" ํ๊ณ ์ฃผ๋ฌธ์ ๋ฃ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ ์ธ์ ํ๋ฉด ์กฐ๋ฆฌ ๊ณผ์ ์ ์๋ฆฌ์ฌ์๊ฒ ์ ์ ์ผ๋ก ๋งก๊ธฐ๊ฒ ๋์ฃ . ์ด์ ๋น๊ตํด ๋ช ๋ นํ ๋ฐฉ์์ ํ์คํ๋ฅผ ๋ ์ํผ์ ๋ฐ๋ผ ๊ณผ์ ์ ์ฐจ๋ก๋๋ก ์ํํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋จ๊ณ๋ณ ์์ ์ํ ์ ์ด์ ์ ์ํ๊ฐ ์ด๋ ๋์ง๋ ์ค์ํ ์์์ ๋๋ค. ์๋ํ SwiftUI๋ ๊ฐ๋ฅํ ๋ง์ ๊ธฐ๋ฅ์ด ์๋์ผ๋ก ์ํ๋ ์ ์๊ฒ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ๋งค๋ฒ ์ง์ ์์ฑํด ์ฃผ์ด์ผ ํ๋ ์์ฉ๊ตฌ๋ฅผ ์๋ตํ ์ ์๊ณ ์ฝ๋์ ์์ ์ค์ฌ ์์ฐ์ฑ์ ๋์ผ ์ ์๊ฒ ๋์์ต๋๋ค. ์กฐํฉ SwiftUI์ API๋ ๋ทฐ์ ์กฐํฉ๊ณผ ๋ถ๋ฆฌ๋ฅผ ๊ฐ๋จ..