๐ ์ด ๊ธ์ Apple Developer Documentation - SwiftUI App Dev Tutorials๋ฅผ ChatGPT๋ฅผ ํตํด ๋ฒ์ญํ์ฌ ์์ฑ๋์์์ ์๋ ค๋๋ฆฝ๋๋ค.
List๋ ๋ฐ์ดํฐ์ ํ์ ๋จ์ผ ์คํฌ๋กค ๊ฐ๋ฅํ ์ด๋ก ๋ฐฐ์ดํ์ฌ ํ์ํ๋ ์ปจํ ์ด๋ ๋ทฐ์ ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์์๋ List ๋ทฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ์ผ์ผ ์คํฌ๋ผ ์์ฝ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์, ์ด ๋ฆฌ์คํธ๋ฅผ ์ฑ์ ์ฃผ์ ํ๋ฉด์ผ๋ก ์ค์ ํ ๊ฒ์ ๋๋ค.
List ๋ทฐ ๊ตฌ์กฐ๋ ์ ์ ๋๋ ๋์ ๋ทฐ๋ก ์ฑ์ธ ์ ์์ต๋๋ค. ์ด ์น์ ์์๋ DailyScrum ๊ฐ์ฒด ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ๋์ ์ผ๋ก ํ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค. ์ด์ ํํ ๋ฆฌ์ผ์์ ๋ง๋ CardView๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ํ์ ๊ตฌ์ฑํ ๊ฒ์ ๋๋ค.
์๋ก์ด SwiftUI View ํ์ผ์ ์์ฑํ๊ณ ์ด๋ฆ์ ScrumsView.swift
๋ก ์ง์ ํ์ธ์.
[DailyScrum]
ํ์
์ scrums
๋ผ๋ ์์ ์์ฑ์ ์ถ๊ฐํ์ธ์.
ScrumsView_Previews
์์ ScrumsView
์ด๊ธฐํ์์๊ฒ scrums
๋ฐฐ์ด์ ์ ๋ฌํ์ธ์.
๋ค์์ผ๋ก, initializer์๊ฒ ํญ๋ชฉ์ ์ปฌ๋ ์ ๊ณผ ๊ฐ ํญ๋ชฉ์ ๋ํ ๋ทฐ๋ฅผ ์์ฑํ๋ ํด๋ก์ ๋ฅผ ์ ๋ฌํ์ฌ
List
๋ฅผ ์์ฑํ ๊ฒ์ ๋๋ค.
๊ธฐ๋ณธ Text ๋ทฐ๋ฅผ List ๋ทฐ๋ก ๊ต์ฒดํ์ธ์. scrums ๋ฐฐ์ด๊ณผ title ์์ฑ์ ๋ํ ํค ๊ฒฝ๋ก๋ฅผ initializer์๊ฒ ์ ๋ฌํ์ธ์.
List๋ ์ปฌ๋ ์ ์ ๊ฐ๋ณ ํญ๋ชฉ์ ์๋ณํ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค. ํ์ฌ ํ ์คํธ ๋ฐ์ดํฐ์ ๋ชจ๋ scrums๊ฐ ์๋ก ๋ค๋ฅธ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์, title ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ฐ ํญ๋ชฉ์ ์๋ณํ ์ ์์ต๋๋ค. ๋ค์ ์น์ ์์๋ DailyScrum์ ์์ ์ ์ธ ์์ด๋ดํฐํฐ ๊ฐ๋ ์ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค.
๋์ดํ ํญ๋ชฉ์ ๋ฐ๋ผ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค. List ๋ทฐ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด List๋ฅผ ์ฐธ์กฐํ์ธ์.
List
ํด๋ก์ ๋ด์์ CardView
๋ฅผ ์ด๊ธฐํํ์ธ์.
์ด ํด๋ก์ ๋ scrums
๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด CardView
๋ฅผ ๋ฐํํฉ๋๋ค.
ํ์ ๋ฐฐ๊ฒฝ์์ scrum.theme.mainColor
๋ก ์ค์ ํ์ธ์.
List
๋ ์๋ณ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณตํ์ฌ ๋์ ๋ทฐ๋ฅผ ์์ฑํฉ๋๋ค. ์ด์ ์น์
์์๋ title
์ ํตํด scrums
๋ฅผ ์๋ณํ๋ ๋ฐ ํค ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ํ ๋ฐ์ดํฐ์ ๊ฐ scrum
์ด ๊ณ ์ ํ ์ ๋ชฉ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ํ๋กํ ํ์
๋จ๊ณ์์๋ ์ ์๋ํ์ต๋๋ค. ํ์ง๋ง ์ฌ์ฉ์๊ฐ ๊ธฐ์กด scrum
๊ณผ ๊ฐ์ ์ ๋ชฉ์ ๊ฐ์ง ์ scrum
์ ์์ฑํ๋ ค๊ณ ํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ์์ฑ ์ฝํ
์ธ ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด, DailyScrum
์ Identifiable
ํ๋กํ ์ฝ์ ์ค์ํ๊ฒ ํ์ฌ ๋ ๊ฐ๋ ฅํ ์์ด๋ดํฐํฐ ์ปค๋ฎค๋์ผ์ด์
๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๋กํ ์ฝ์ ์๊ตฌ ์ฌํญ์ ํ๋์ ์์ฑ์ธ id
๋ก, ์ด ์์ฑ์ ์ํฐํฐ์ ๋ํ ์์ ์ ์ธ ์๋ณ์๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
DailyScrum.swift
ํ์ผ์ ์ด๊ณ Identifiable
ํ๋กํ ์ฝ์ ์ค์ํ๋๋ก ์ ์ธํ์ธ์.
Identifiable์ ์ค์ํ๋ ค๋ฉด ๋ชจ๋ธ์ id๋ผ๋ ์ด๋ฆ์ ์์ฑ์ด ์์ด์ผ ํฉ๋๋ค. ์ด ์์ฑ์ ์ถ๊ฐํ์ง ์์ผ๋ฉด ์ฝ๋๊ฐ ์ปดํ์ผ๋์ง ์์ต๋๋ค.
UUID ํ์ ์ ์์ id๋ฅผ ์ถ๊ฐํ์ธ์.
id
์์ฑ์ ๊ธฐ๋ณธ๊ฐ์ ํ ๋นํ๋ ์ด๊ธฐํ์๋ฅผ ์ถ๊ฐํ์ธ์.
๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ ์ ์ํ๋ฉด, ์ด๊ธฐํ์๋ ํจ์๋ฅผ ํธ์ถํ ๋ ๊ทธ ๋งค๊ฐ๋ณ์๋ฅผ ์๋ตํ ์ ์์ต๋๋ค.
์ด์ DailyScrum์ด Identifiable ํ๋กํ ์ฝ์ ์ค์ํ๋ฏ๋ก, List ์ด๊ธฐํ์๋ฅผ ๊ฐ์ํํ ์ ์์ต๋๋ค.
ScrumsView.swift
์์ List
์ด๊ธฐํ์์์ id
๋งค๊ฐ๋ณ์๋ฅผ ์ ๊ฑฐํ์ธ์.
์ด์
ScrumsView
๋ฅผ ์ฑ์ ๋ฃจํธ ๋ทฐ๋ก ์ค์ ํ ๊ฒ์ ๋๋ค. SwiftUI ์ฑ์ ๋ง๋ค๋ ค๋ฉดApp
ํ๋กํ ์ฝ์ ์ค์ํ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ธํฉ๋๋ค. ์ฑ์body
์์ฑ์ ์ฑ์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ํ๋ด๋ ๋ทฐ ๊ณ์ธต์ ํฌํจํ๋Scene
์ ๋ฐํํฉ๋๋ค.
ScrumdingerApp.swift
๋ฅผ ์ด๊ณ ์ฑ์ ์ด๊ธฐ ๋ทฐ๋ก ScrumsView
๋ฅผ ์ค์ ํ์ธ์.
WindowGroup
์ SwiftUI๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ฌ ์ค ํ๋์
๋๋ค. iOS์์๋ WindowGroup
์ฌ ๋น๋์ ์ถ๊ฐํ ๋ทฐ๊ฐ ์ฅ์น์ ์ ์ฒด ํ๋ฉด์ ์ฑ์ฐ๋ ์๋์ฐ์ ํ์๋ฉ๋๋ค.
์ฑ์ ์๋ฎฌ๋ ์ดํฐ์์ ๋น๋ํ๊ณ ์คํํ์ฌ ์ฑ์ด ์์๋ ๋ ScrumsList
๊ฐ ๋ํ๋๋์ง ํ์ธํ์ธ์.
์ง๊ธ๊น์ง ๋ง์ ๊ฒ์ ๋ฌ์ฑํ์ต๋๋ค.
Scrumdinger
์ ์ฃผ์ ํ๋ฉด ์ค ๋ ๊ฐ์ธMeetingView
์ScrumsView
๋ฅผ ์ค๊ณํ๊ณ , ์ฑ์ ๋ฃจํธ ๋ทฐ๋ฅผ ์ค์ ํ์ต๋๋ค. ๋ค์ ์ฅ์์๋ ์ฌ์ฉ์๊ฐ ๋ทฐ ๊ฐ์ ํ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์ฑ์ ๋ ์ธํฐ๋ํฐ๋ธํ๊ฒ ๋ง๋ค ๊ฒ์ ๋๋ค.