์๋ ํ์ธ์ ๐
๋๊ตฌ๋ ์ฝ๊ฒ iOS ๊ฐ๋ฐ์ ํ ์ ์๋๋ก ๋๊ณ ์ถ์
iOS ๊ฐ๋ฐ์ ์ ๊ตฌ๋ง์ ๋๋ค.
๊ฐ์์ ํ์ํ ์์ ๋ง๋๋๊ฒ์ ์ข์ํ๊ณ , ์ ๋ฌธ์์๊ฒ ํ์ํ ๊ฐ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฐ๊ตฌํฉ๋๋ค.
agmma5000@gmail.com
Courses
Reviews
kgn571301129718
ยท
Part0: Learning Swift6 for Complete Beginners Through Problem Solving (Free, 2025, Perfect XCode 26 Support)Part0: Learning Swift6 for Complete Beginners Through Problem Solving (Free, 2025, Perfect XCode 26 Support)- Part 1: Learning iOS for Real Beginners (SwiftUI, SwiftData, 2024)
- Part 1: Learning iOS for Real Beginners (SwiftUI, SwiftData, 2024)
- Property Wrapper (@State, @Binding...) in SwiftUI
- Part 2: Intermediate iOS Instagram Clone (SwiftUI, MVVM, Firebase, 2024)
Posts
Q&A
๋๋ง์๊ธฐ ๋ก์ง ๊ตฌํ ์ค ios 16 (iphone 16) ์๋ฎฌ๋ ์ดํฐ ์์ด ์ ๋ ฅ ๋ถ๊ฐ
๊ฐํน ์๋ฎฌ๋ ์ดํฐ์์ ํ์ ๋ณํ์ด ์๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ์.์ด๋ ์๋ฎฌ๋ ์ดํฐ ๋ฒ๊ทธ์ ๋๋ค. ์๋ฎฌ๋ ์ดํฐ๊ฐ ๊ฐํน ์ ์์ ์ผ๋ก ์๋๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ์.๊ทธ๋์ ์ ํํ ๋์์ ํ์ธํด๋ณด๊ธฐ ์ํด์๋ ์์ดํฐ์ ์ฐ๊ฒฐํ๊ณ ์์ดํฐ์์ ์ฑ์ ์คํ์ํค์๋ฉด ๋ฉ๋๋ค.ํ์ ์์๋ ์๋ฎฌ๋ ์ดํฐ ๋ฒ๊ทธ๊ฐ ์ผ์ด๋ ๋๊ฐ ์ข ์ข ์๋๋ฐ์. ์ด๋์๋ ์์ดํฐ ๊ธฐ๊ธฐ๋ฅผ xcode์ ์ง์ ์ฐ๊ฒฐํ์ฌ ํ ์คํธํด๋ด ๋๋ค!
- 1
- 1
- 19
Q&A
Thread number๊ฐ ๋ค 1๋ก ๋์ต๋๋ค
์๋ ํ์ธ์์ฐ์ธก์ Swift version์ Swift5๋ก ์ค์ ํ๊ณ ํ๋ฒ ํด๋ณด์๊ฒ ์ด์?
- 1
- 2
- 34
Q&A
'loadAllPosts' ๋ฅผ ๋งค๋ฒ ์ฌ์ฉํด์ผ ํ๋์?
์๋ ํ์ธ์ ckdrmsdk17์์ฒญ ์ค์ํ ๋ถ๋ถ์ ์ง๋ฌธํด์ฃผ์ จ๋ค์.์ด๋ถ๋ถ์ ์ฌ๋ฌ๊ฐ์ง ์ธก๋ฉด์ด ๊ณ ๋ ค๋์ด์ผ ํ ๊ฑฐ ๊ฐ์์.๋จผ์ FeedView๋ฅผ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ์๋ก์ด post๊ฐ ์๋ค๋ฉด ๋ณด์ฌ์ค์ผ ํ๊ธฐ์ ํต์ ์ ํด์ผํ๋๊ฒ ๋ง์ต๋๋ค.๋ค๋ง ๊ทธ์ ์ ์ด๋ฏธ ๋ก๋ํด์๋ ์ ๋ณด๋ฅผ ๊ตณ์ด ๋ค์ ๋ก๋ํ ํ์๋ ์๊ฒ ์ฃ .๊ทธ๋ ๋ค๊ณ ์ด์ ์ ๋ณด๋ฅผ ์์ ๋ก๋ํ์ง ์์ ์ ์์ต๋๋ค. ํน์ ์ญ์ ๋ ํฌ์คํธ๊ฐ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๋ฐ์ํด์ผ ํ๋๊น์. ๊ทธ๋์ ํ๋ฉด์ด ์ค์๊ฐ์ ์ผ๋ก ๋ฐ๋์ด์ผ ํ๋์ง or ํ๋ฒ ๋ก๋ํ๋๋ฐ์ ๋น์ฉ์ด ๋ง์ด ๋๋์ง๋ก ํ๋ฉด ์ ๋ฐ์ดํธ์ ํ์๋ฅผ ์กฐ์ ํ๋๊ฒ ๊ฐ์ต๋๋ค. ์ด ํ๋ฉด์ ๊ฒฝ์ฐ์๋ ์ ๋ฐ์ดํธ ์ฆ๊ฒ ํ๋ ํ๋ฒ ๊ฐ์ ธ์ค๋ ์์ ์กฐ์ ํ์ฌ ๋น์ฉ์ ๋ฎ๊ฒ ์ ์งํ ๊ฒ ๊ฐ์ต๋๋ค.์์ฒญ๋๊ฒ ๋ง์ 1,000๊ฐ ํน์ 10,000๊ฐ์ ์ ์ ๋ณด๊ฐ ์๋ค๊ณ ํ ๋ ์ด ๋ชฉ๋ก์ ์ ๋ถ ๋ค ๊ฐ์ ธ์ค๊ธฐ์๋ ๋ฌด๋ฆฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋๋ ๋ณดํต ๋ช๊ฐ์ฉ ๊ทธ๋ฃน์ง์ด์ ์์ฒญ์ ํฉ๋๋ค.์ํ๋ ์ซ์(์๋ฅผ๋ค์ด 20๊ฐ)๋งํผ์ ํฌ์คํธ ๋ชฉ๋ก์ ์์ฒญํด์ ๋ค์ด๋ฐ๊ณ 19๋ฒ์งธ๋ 20๋ฒ์งธ๊ฐ ํ๋ฉด์์ ๋ณด์ฌ์ง ๋์ฏค ๊ทธ๋ค์ 20๊ฐ๋ฅผ ๋ค์ ๋ก๋ฉํ๋ ์์ผ๋ก ๊ตฌํํฉ๋๋ค.์ด๋ฐ ๊ธฐ์ ์ ํ์ด์ง ํน์ ํ์ด์ง๋ค์ด์ ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค(๊ฐ๊ฐ์ ๊ทธ๋ฃน์ ํ์ด์ง๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.)๊ฐ์ ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค~!
- 1
- 2
- 33
Q&A
@Binding๋ ๊ฐ์ฒด๋ ์๋์ผ๋ก ์ ์ฅ์ด ๋๋์?
์๋ ํ์ธ์ leebs30919๋์ค์ํํธ ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ, ์ฝ์ (context.insert()), ์ญ์ (context.delete())๋ฑ์ ๋ฐ๋ก ์ฒ๋ฆฌํ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์ ๋ชจ์๋๋ค๊ฐ ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๊ฐ๊ฑฐ๋ ์ปจํ ์คํธ์ ์ฌ์ฉ์ ๋๋ฌ์๋ ์์ ์ฌํญ์ ํ๋ฒ์ ๋์คํฌ์ ์ ๋ ฅํ๊ฒ ๋ฉ๋๋ค.ํ์ง๋ง ๋ง์ฝ์ ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๊ฐ๊ธฐ์ ์ ๋์คํฌ์ ๋ฐ๋ก ์์ ์ฌํญ์ ๊ธฐ๋กํ๊ณ ์ถ๋ค๋ฉด๊ทธ๋ context.save()๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.๊ทธ๋์ save๋ฅผ ํ์ง ์์๋ ๋ชจ๋ธ์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์๋๊ฒ ์ฒ๋ผ ๋ณด์ด๋ ๊ฒ์ ๋๋ค!์ฐธ๊ณ ํ ์์๋ ๋ฌธ์ ๋จ๊ฒจ๋๊ฒ ์ต๋๋คhttps://developer.apple.com/documentation/swiftdata/modelcontext/save()๊ฐ์ ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค~
- 1
- 2
- 51
Q&A
Swift Concurrency ๊ฐ์ ์์ ์ ์์ผ์ ์ง ํด์ ๋ฌธ์๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ์ฐจ๊ฐ์ด์์ฌ๊ท๋ Swift Modern Concurrency๋ ๋์ค์ ์ฐ์ ์์ ์ธ๋ฐ ์ฐ๊ธฐ๊น์ง ์๋ง ์๊ฐ์ด ์ข ๊ฑธ๋ฆด๊ฑฐ ๊ฐ์ต๋๋คํน์ ์ฐฉ์ํ๊ฒ ๋๋ค๋ฉด ์ฌ๊ธฐ์ ๊ธ ๋จ๊ธฐ๋๋ก ํ๊ฒ ์ต๋๋ค๊ฐ์์ ๊ด์ฌ๊ฐ์ ธ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค~!
- 1
- 2
- 46
Q&A
์น์ 5. Class๋ก Todo ๋ฐ์ดํฐ ๊ด๋ฆฌํ๊ธฐ ๋ถ๋ถ์์ ์ง๋ฌธ ์์ต๋๋ค.
์๋ ํ์ธ์์ ๊ฐ ์ผ์ฃผ์ผ ์ฌํ์ ๋ค๋ ์์ ๋ฆ๊ฒ ๋ต๋ณ๋๋ฆฌ๊ฒ ๋์ด ์ฃ์กํฉ๋๋ค ๋ฐฉ๊ธ ํ์ธํด๋ดค๋๋ฐํด๋น ๊ฐ์ ์์ ํ์ผ ์คํํ์๋ ํด๋น ์๋ฌ๊ฐ ๋จ์ง ์๋๋ฐ์ํน์ ์์ ํ์ผํ์ธํด์ ๋ค๋ฅธ ๋ถ๋ถ์ ํ๋ฒ ์ฐพ์๋ณด์๊ฒ ์ด์?ํน์ ๊ณ์ ์๋๋ค๋ฉด agmma5000@gmail.com์ฌ๊ธฐ ์ ๋ฉ์ผ๋ก ๋ณด๋ด์ฃผ์๋ฉด ํ์ธํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค~
- 1
- 2
- 55
Q&A
์์ ์ฝ๋๊ฐ ์๋์์
์๋ ํ์ธ์ yesdbfah๋์ ๊ฐ ์์ ์ฝ๋ ๋ค์ด๋ฐ์๋ณด๋ ํ์ผ์ด ์ ์๋๋ฐ์ํน์ ์ด๋ ๋ถ๋ถ์ด ์๋์ฌ๊น์?
- 0
- 2
- 69
Q&A
JSON_Decodable.playground์์ print๋ฌธ์ด ์์ฐํ๋ ๋ฌธ์
์๋ ํ์ธ์ perfecctism๋์ ๊ฐ JSON06 MyNetflix/5 ์์ฑ์ฝ๋/JSON_Decodable.playground๋ก ์คํํด๋ณธ ๊ฒฐ๊ณผ ํ๋ฆฐํธ๊ฐ ์๋๋๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ์์ ๊ฐ ์ฒจ๋ถํ ์ฝ๋๋ก ํ๋ฒ ์คํํด๋ณด์ค๋์?URL์ฃผ์๊ฐ ์๋ชป๋๋ฉด ์ ์์ด ์๋ผ์ ํ๋ฆฐํธ๊ฐ ์๋ ์ ์์ต๋๋ค. (์ฌ์ง)
- 0
- 2
- 81
Q&A
์์ ์ฝ๋๋ ๋ฐฐ์์ผ ํ ๊น์?
์๋ ํ์ธ์์ ํํ ์ด๋ค ๋ถ๋ถ์ธ์ง ์ ์ ์์๊น์?
- 1
- 1
- 97
Q&A
ProfileView์์ toolbar์ด์ฉ์ ๋ฌธ์ ์ ๋ฐ์, ๋ก์ง์ด ์ดํด๊ฐ ๋์ง ์์ต๋๋ค.
์๋ ํ์ธ์ ycc3819๋๋จผ์ ๊ฐ์ ์๊ฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.๋จผ์ toolbar์ ์๋ ์๋ฆฌ์ ๋ํด ์ค๋ช ๋๋ฆด๊ฒ์.navigationbarBackButtonHidden()๊ณผ .toolbar {}๋ ์ด ์ฝ๋๊ฐ ์ ํ ํ๋ฉด์ด '๋ค๋น๊ฒ์ด์ ์คํ์์ ์์ธ๋ค๋ฉด' ํด๋น ํ๋ฉด์์ ๋ฐฑ๋ฒํผ์ ์ง์ฐ๊ณ , ์๋ก์ด ํด๋ฐ์์ดํ ์ ๋ณด์ฌ์ค๋๋ค. ์๋ ์ฝ๋์์ navigationBarBackButtonHidden๊ณผ toolbar์ ์๋ฏธ๋ํ์ฌ ๋ค๋น๊ฒ์ด์ ์คํ์ ์์ด๋ ๋ชจ๋ ํ๋ฉด์ ๋ฐฑ๋ฒํผ์ ์์ ๊ณ , ํด๋ฐ๋ฅผ ์ด๊ฑธ๋ก ๋์ฒดํด์ค ๋ผ๋ ์๋ฏธ๊ฐ ์๋๊ณ ํ์ฌ ํ๋ฉด์ด ๋ค๋ฅธ ๋ค๋น๊ฒ์ด์ ์คํ์์ ์์ธ๋ค๋ฉด ํ์ฌํ๋ฉด์ ๋ํด์ ๋ฐฑ๋ฒํผ์ ์์ ๊ณ , ํด๋ฐ๋ฅผ ๋์ฒดํด์ค ๋ผ๋ ์๋ฏธ๊ฐ ๋ฉ๋๋ค. var body: some View { NavigationStack { ScrollView { } } .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } //:TOOLBAR NaviagtionStack๊ณผ navigationBarBackButtonHidden(or toolBar)๋ ๋ณ๊ฐ๋ผ๊ณ ์๊ฐํด์ฃผ์๋ฉด ๋ฉ๋๋ค. ์ด ์ฝ๋๋ฅผ ํด์ํด ๋ณธ๋ค๋ฉดNaviagtionStack : ์ด ํ๋ฉด์ navigationStack์ ํตํด ๋ค๋ฅธ ํ๋ฉด์ผ๋ก ์ ํ์ด ๋๊ฒ ๊ตฌ๋navigationBarBackButtonHidden(or toolBar): ์ด ํ๋ฉด์ด ๋ค๋ฅธ navigationStack์์ ์์ธ๋ค๋ฉด ๊ธฐ์กด ๋ฐฑ๋ฒํผ์ด ์ฌ๋ผ์ง๊ณ ์ ๋ฐฑ๋ฒํผ์ด ์๊ธฐ๊ฒ ๊ตฌ๋ ๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ข๋ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ค๋ฅธ ์ฝ๋๋ฅผ ๋ณด์ฌ๋๋ฆด๊ฒ์import SwiftUI struct ContentView: View { var body: some View { NavigationStack { VStack { Text("This is the First View") NavigationLink("Go to Second View") { SecondView() } } .navigationTitle("First View") } } } struct SecondView: View { @Environment(\.dismiss) var dismiss var body: some View { VStack(spacing: 20) { Text("This is the Second View") } .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } } } #Preview { ContentView() } ์ด ์ฝ๋๋ NavigationStack๊ณผ ๋ฐฑ๋ฒํผ๊ด๋ จ์ฝ๋๊ฐ ๋ค๋ฅธ ๋ทฐ๋ก ๋๋์ด์ ธ ์๋๋ฐ์.๋ณดํต์ ์ด๋ฐ์์ผ๋ก ์ฐ์ด๋๊ฒ, ์ ์ฝ๋์์๋ ํ๋กํ๋ทฐ๊ฐ 2๊ฐ์ง ์ญํ ์ ํ๊ธฐ๋๋ฌธ์ ํ๊ณณ์ ๋ชจ์ฌ์์ด์ ํผ๋์ ์ผ๊ธฐํ๊ฒ ๊ฐ์ต๋๋ค.ํ๋กํ๋ทฐ -> ํ๋กํ์๋ํ ๋ทฐ๋ก ์ด๋ํ๊ธฐ ์ํด NavigationStack์ ์ฌ์ฉํ๊ณ ์ํผ๋๋ทฐ -> (๋ค๋ฅธ์ฌ๋์)ํ๋กํ๋ทฐ๋ก ์ด๋๋์์๋ ๋ฐฑ๋ฒํผ์ ๋ฐ๊พธ๊ธฐ ์ํด,.navigationBarBackButtonHidden() .toolbar {}์ด ๋์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.๊ทธ๋ฐ๋ฐ ์ง๋ฌธ์๋์ฒ๋ผ ์ ๋ ๊ฒ ํ์ดํ๊ฐ 2๊ฐ ๋์ค๋ ์ํฉ์ด ์ ์ฝ๋์์๋ ๋ฐ์ํ์ง ์๋๊ฑฐ ๊ฐ์๋ฐ์.chapter12ํด๋์ 12-2์ฝ๋๋ก ํ๋ฒ ์คํํด๋ณด์๊ฒ ์ด์?์๋ง ์ฝ๋๊ฐ ๋ค๋ฅธ ๋ถ๋ถ์ด ์์ด์ ์ ๋ฐ ํ์์ด ๋ํ๋๊ฒ ์๋๊ฐ ์ถ์ต๋๋ค.
- 0
- 1
- 99