iOS, Swift์ ๋ํ ์ฑ
์ ์ฐ๊ณ ๊ฐ์๋ฅผ ํ๊ณ ์๋ iOS ๊ฐ๋ฐ์์
๋๋ค :)
์ฑ ๊ฐ๋ฐ ๊ต์ก์ฌ์ดํธ์ธ KxCoding์ ์ด์ํ๋ฉด์ iOS ๊ฐ๋ฐ์๋ฅผ ๊ฟ๊พธ๋ ๋ค์ํ ๋ถ๋ค๊ณผ ๊ณต๋ถํ๊ณ ์์ต๋๋ค
์ง๊ธ๊น์ง ์ด ์ฑ ๋ค
2019.4 - Hello, Swift (iBooks)
2017.9 - iOS ์ฑ ๊ฐ๋ฐ์๋ฅผ ์ํ Swift 4
2016.10 - iOS ์ฑ ๊ฐ๋ฐ์๋ฅผ ์ํ Swift 3
2014.12 - Objective-C ๊ฐ๋ฐ์๋ฅผ ์ํ Swift
๊ฐ์ ๋ฐ ์ธ๋ฏธ๋
Fast Campus ๋๋ง์ iOS ์ฑ ๊ฐ๋ฐ ์บ ํ
Fast Campus Swift 4๋ฅผ ํ์ฉํ iOS ์ฑ ๊ฐ๋ฐ ์บ ํ
Fast Campus Dev Seminar: ์ข์์๊ฑธ
ํํ์๋ช
iOS ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด ๊ณผ์
KxCoding ๋ถํธ ์บ ํ
Courses
Reviews
- Swift & iOS Master Class, from the basics to practical application development
- The Complete Guide to Swift5 for iOS Development
- The Complete Guide to Swift5 for iOS Development
- The Complete Guide to Swift5 for iOS Development
- The Complete Guide to Swift5 for iOS Development
Posts
Q&A
430๊ฐ modularization
Xcode 26์์ Swift Package๋ฅผ ์์ฑํ๋ฉด Swift 6 ์ธ์ด ๋ชจ๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ ๋๊ณ , Concurrency ๊ด๋ จ ์ฝ๋๋ฅผ ์ด์ ๋ณด๋ค ์๊ฒฉํ ์ฒดํฌํฉ๋๋ค. ํ์ฌ ๊ฐ์๋ ์ด ๋ถ๋ถ์ ๊ณ ๋ คํ์ง ์๊ณ ์ ์๋์์ต๋๋ค.๋ฐ๋ผ์ ํจํค์ง ๋ฉ๋ํ์คํธ์์ 1๋ฒ ๋ผ์ธ์ ์๋ ์ฃผ์ ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ๋ฐ๊พธ๊ณ ์คํํ์๋ฉด Swift 5 ์ธ์ด ๋ชจ๋๊ฐ ์ฌ์ฉ๋๊ณ ์๋ฌ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ ๋๋ค.// swift-tools-version: 5.9์ฐธ๊ณ ๋ก gpt๊ฐ ์์ ํ ๋ถ๋ถ์ ์๋ ์ฝ๋๋ก ๋ณต๊ตฌํด์ผ ํฉ๋๋ค.
- 0
- 2
- 25
Q&A
๊ฐ๋ฐ๋ฒ์ release ๋ฒ์ ์ค์ต ์ค ์ค๋ฅ-๋ถํ๋๋ฆฝ๋๋ค.
ํ๋ก์ ํธ ์ ํ > Release ํ๊น ์ ํ > Build Phases ํญ ์ ํ > Compile Sources ์น์ ์ ์ปดํ์ผ ๋์์ด ์ถ๊ฐ๋์ด ์์ต๋๋ค. ์ด ์ํ์์์ dev ํ๊น์ ์ ํํ๊ณ ๊ฐ์ ํญ์ ํ์ธํด ๋ณด์ ํ ๋ชฉ๋ก์ ์ถ๊ฐ๋์ด ์๋ ํญ๋ชฉ์ด ๋ค๋ฅด๋ค๋ฉด, Release ํ๊น์๋ ๋์ผํ ํญ๋ชฉ๋ค์ ์ถ๊ฐํด ์ฃผ์ธ์.๊ทธ๋ฆฌ๊ณ ๋์ Product > Clean Build Folder ๋ฉ๋ด๋ฅผ ์ ํํ ๋ค์ ๋ค์ ์คํํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.์์ ๋ด์ฉ์ผ๋ก ํด๊ฒฐ๋์ง ์๋๋ค๋ฉด ๋ค์ ์๋ ค์ฃผ์ธ์.
- 0
- 2
- 36
Q&A
๋ฉ๋ชจ์ ๊ทธ๋ฃน์ ํด๋ฆญํ ๋๋ง๋ค ํญ๋ชฉ์ด ํ๋ฆฌ๊ฒ ๋์ต๋๋ค.
์ฝ๋๋ ์ฝ์ด ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ชป๋ ๋ถ๋ถ์ด ์๋๊ฒ ๊ฐ์ต๋๋ค. ์ฐ์ Step 21์์ ์์ฑํ๋ ์๋ ์ฝ๋์์ cacheName์ nil๋ก ๋ฐ๊พธ๊ณ ํ ์คํธ ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.groupFetchedResults = NSFetchedResultsController(fetchRequest: groupRequest, managedObjectContext: mainContext, sectionNameKeyPath: nil, cacheName: "MemoGroupCache")๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ผ๋ฉด ๋ค์ ์๋ ค์ฃผ์ธ์.
- 0
- 2
- 57
Q&A
ํ์ด๋จธ ์ค์ฐจ
๊ธฐ๋ณธ์ ์ผ๋ก asyncAfter์์ ์ฝ๊ฐ์ ์ค์ฐจ(0.1์ด ์ด๋ด)๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.์ด๊ฒ๋ณด๋ค ํฐ ์ค์ฐจ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋, ๋งฅ ์์ฒด์ ๋ฆฌ์์ค๊ฐ ๋ถ์กฑํด์ ํ๋ฆฌ๋ทฐ์์ ๋๋ ์ด๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.์๋ฎฌ๋ ์ดํฐ ๋๋ ์ค์ ๋๋ฐ์ด์ค์์ ์คํํด๋ณด์๊ณ ์ค์ฐจ๊ฐ 0.1์ด ์ด๋ด๋ผ๋ฉด ํ๋ฆฌ๋ทฐ์ ์ค์ฐจ๋ ๋ฌด์ํ์ ๋ ๋ฉ๋๋ค. ์ฌ์ ํ ๋์ผํ ์์ค์ ๋๋ ์ด๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ฝ๋๋ฅผ ๋ค์ ํ ๋ฒ ์ ๊ฒํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
- 0
- 2
- 60
Q&A
์์ ์ค ๊ถ๊ธํ ๋ถ๋ถ์ด ์์ต๋๋ค.
Auto Layout์ โ๋ทฐ์ ์์น(x ยท y)์ ํฌ๊ธฐ(width ยท height)๋ฅผ ๊ณ์ฐํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๋ง ์์ผ๋ฉด ๋๋คโ๋ ๊ท์น์ผ๋ก ์๋ํฉ๋๋ค. ๊ทธ๋์ ์ด๋ค ๋ทฐ์์ topยทleading๋ง ๊ฑธ๊ณ , ๋ ๋ค๋ฅธ ๋ทฐ์์ topยทleadingยทtrailing์ ์ถ๊ฐ๋ก ๊ฑฐ๋ ์์ผ๋ก ์ค์ ์ด ๋ฌ๋ผ์ง๋๋ค. ๊ทธ ๊ธฐ์ค์ ํฌ๊ฒ ๋ ๊ฐ์ง์ ๋๋ค.1. ๋ทฐ๋ฅผ ์ด๋ป๊ฒ ๋ฐฐ์นํ ์ง์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค์๋ฅผ ๋ค์ด, โ์ผ์ชฝ ์๋จ์ ๋ฌ๋ผ๋ถ์ด๋ง ์์ผ๋ฉด ๋๊ณ , ํญ์ ๊ธ์ ๊ธธ์ด์ ๋ง์ถฐ ์์ฐ์ค๋ฝ๊ฒ ๋์ด๋๋ ๋๋คโ๋ฉด topยทleading๋ง์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. ๋ฐ๋ฉด โ์ผ์ชฝ์์ ์์ํ๋, ์ค๋ฅธ์ชฝ ์ฌ๋ฐฑ(trailing)๊น์ง ๊ฝ ์ฐจ๊ฒ ๋์ด๋์ผ ํ๋คโ๊ฑฐ๋ โ๋ถ๋ชจ ๋ทฐ ์์ชฝ์ ๋ฑ ๋ถ์ด์ผ ํ๋คโ๋ฉด trailing ์ ์ฝ๋ ์ถ๊ฐํด ํญ์ ํ์ ํด ์ค์ผ ํฉ๋๋ค.2. ๊ทธ ๋ทฐ๊ฐ โ๊ณ ์ ์ฝํ ์ธ ํฌ๊ธฐ(intrinsic content size)โ๋ฅผ ๊ฐ๊ณ ์๋์ง๋ ์ค์ํฉ๋๋คUILabelยทUIImageView์ฒ๋ผ ์ฝํ ์ธ ์์ฒด๋ก ๋๋นยท๋์ด๋ฅผ ์ถ์ ํ ์ ์๋ ๋ทฐ๋ผ๋ฉด, ์์น๋ง ๊ณ ์ ํด ์ค๋ ๋๋จธ์ง ํ ๋ณ(๋๋น ๋๋ ๋์ด)์ ์์คํ ์ด ์์์ ๊ณ์ฐํฉ๋๋ค. ๊ทธ๋์ height๋ฅผ ๋ฐ๋ก ์ฃผ์ง ์์๋ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋๋ก, ๊ณ ์ ํฌ๊ธฐ๊ฐ ์๋ UIView๋ โ์ ํํ 44 pt ๋์ด์ฌ์ผ ํ๋คโ ๊ฐ์ ์๊ตฌ ์กฐ๊ฑด์ด ์์ ๋๋ height๋ width ์ ์ฝ์ ๋ฐ๋์ ๋ช ์ํด์ผ ๋ ์ด์์์ด ๋ชจํธํด์ง์ง ์์ต๋๋ค.3. Auto Layout ์ฑํฐ๋ฅผ ๊ณต๋ถํ์๋ฉด ๋ถ๋ช ํด์ง๋๋ค์ง๊ธ์ โํ์ํ ๋งํผ๋ง ์ ์ฝ์ ๊ฑด๋คโ๋ ๊ฐ๊ฐ์ด ๋ค์ ์ถ์์ ์ผ๋ก ๋๊ปด์ง ์ ์์ต๋๋ค. Auto Layout ์ฑํฐ๋ฅผ ๊ณต๋ถํ์๋ฉด โ์ถฉ๋ถํ ์ ์ฝ ์กฐ๊ฑดโ์ด ๋ฌด์์ ์๋ฏธํ๋์ง, ๊ทธ๋ฆฌ๊ณ Hugging/Compression Resistance์ฒ๋ผ ์์คํ ์ด ์ฌ๋ฐฑ์ ๋ฐฐ๋ถยท์์ถํ๋ ๋ฐฉ์์ด ์ด๋ป๊ฒ ๊ฒฐ์ ๋๋์ง ์๊ฒ ๋ฉ๋๋ค.4. ์ด๋ฐ์๋ ์ค์ต์ ๊ทธ๋๋ก ๋ฐ๋ผ ํด๋ ์ถฉ๋ถํฉ๋๋ค์ฒ์๋ถํฐ ๋ชจ๋ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ ์์ํ๊ธฐ๋ ์ฝ์ง ์์ต๋๋ค. ์ค์ต์ ๊ทธ๋๋ก ๋ฐ๋ผ ํ๋ฉฐ โ์ด๋ค ๊ฒฝ์ฐ์ ์ ์ฝ์ ๋ ๊ฑธ๊ณ , ์ด๋ค ๊ฒฝ์ฐ์ ์๋ตํด๋ ๋๋์งโ ๋ชธ์ผ๋ก ์ตํ๋ ํธ์ด ํจ์ฌ ๋น ๋ฆ ๋๋ค. ๊ฒฝํ์ด ์์ด๋ฉด, ๋ ์ด๋ธ ํ๋๋ฅผ ์ถ๊ฐํ ๋๋ โ์ฌ๊ธฐ์๋ trailing์ด ํ์ํ๊ฒ ๋คโ ํ๊ณ ์์ฐ์ค๋ฝ๊ฒ ํ๋จํ๊ฒ ๋์ค ๊ฒ๋๋ค.
- 0
- 2
- 40
Q&A
Xcode Live Rendering ๋ฌธ์
Xcode 16 ๋ฒ์ ์์ ํด๋น ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋์์ต๋๋ค. ์ค์ ๋ก Xcode ๋ณ๊ฒฝ์ฌํญ์ ๋ณด๋ฉด ์๋์ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ์์ต๋๋ค.@IBDesignable views are deprecated and will no longer be rendered in the Interface Builder canvas. (115873872)๋ฐ๋ผ์, ๊ฐ์์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ง์ ํ์ธํ๊ณ ์ถ๋ค๋ฉด Xcode 15 ์ด๊ธฐ ๋ฒ์ ์ ์ฌ์ฉํ์ ์ผ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ Xcode Previews๋ก ์ ์ง์ ์ผ๋ก ๋์ฒด๋๊ณ ์๋ ์ํฉ์ด๊ณ , Xcode 16 ๋ฒ์ ์์ ์ค์ตํ์ ๋ค๋ฉด ๋ผ์ด๋ธ ๋ ๋๋ง ๊ด๋ จ ๋ถ๋ถ์ ๋ฌด์ํ๊ณ , Custom View์ ๊ฒฐ๊ณผ๋ง ํ์ธํ์๋ฉด ๋ฉ๋๋ค.
- 0
- 2
- 42
Q&A
Xcode์ gpxํ์ผ์ด ์ธ์์ด ์๋ฉ๋๋ค.
์ต์ ๋ฒ์ ์์๋ ๋ง์ํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๋ค.Xcode 15๋ฒ์ ์ผ๋ก ์ค์ต์ ์งํํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ์ด์ ๋ฒ์ ์ Xcodes ์ฑ์ ํตํด์ ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค.https://www.xcodes.app/
- 0
- 2
- 145
Q&A
API ์ถ๋ ฅ ์ค๋ฅ.. ๋์์ฃผ์ธ์.
message์ ์คํ๊ฐ ์์ต๋๋ค. mesaage๊ฐ ์๋๋ผ message์ ๋๋ค. ๋ชจ๋ธ ํ์ผ๋ก ๊ฐ์ ์์ฑ ์ด๋ฆ์ ์์ ํด ์ฃผ์ธ์.
- 0
- 2
- 81
Q&A
play ground ์ค๋ฅ?? ์์ธ์ ์๊ณ ์ถ์ต๋๋ค.
๋ณด๋ด์ฃผ์ ์๋ฌ์ฒ๋ผ ํ๋ ์ด๊ทธ๋ผ์ด๋ ์์ ํ์๋๋ ์๋ฌ๋ ๋๋ถ๋ถ Xcode์ ๋ด๋ถ์ ์ธ ์๋ฌ์ ๋๋ค. Xcode๋ฅผ ์์ ํ ์ข ๋ฃํ์ ํ ๋ค์ ์คํํ์๋ฉด ๋๋ถ๋ถ ํด๊ฒฐ๋ฉ๋๋ค.
- 0
- 2
- 106
Q&A
๋ฐํ์ ์ค๋ฅ... ๋ถํ๋๋ฆฝ๋๋ค.
์๋ฌ ๋ฉ์์ง๋ก ๋ด์๋ WKWebView๊ฐ ์ ์์ ์ผ๋ก ๋งํฌ๋์ง ์์๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋๋ ์๋์ ๊ฐ์ ์์๋ก ์ง์ ์ฐ๊ฒฐํด ์ฃผ์๋ฉด ํด๊ฒฐ๋ฉ๋๋ค.ํ๋ก์ ํธ ๋ค๋น๊ฒ์ดํฐ์์ ํ๋ก์ ํธ ์ ํ ํ๊น ์ ํGeneral ํญ์์ Frameworks, Libraries, and Embedded Content ์น์ + ํด๋ฆญ ํ WebView ๊ฒ์WebKit.framework ์ ํ ํ Add ํด๋ฆญps. ํญ์ ์ด์ฌํ ๊ณต๋ถํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ง์ง๋ง ๊ฐ์๊น์ง ํ์ดํ ์ ๋๋ค!!!
- 0
- 2
- 128