์ ์ฒด ๊ธ40 [iOS] TIL_230728 cell select vs gesture ํ ์ด๋ธ ๋ทฐ์์๋ ํญ์ ์ค์ฒ๋ก ํค๋ณด๋๋ฅผ ์ ์ ๋ด๋ฆผ. ๋๋๊ทธ ํด์ ๋ด๋ฆผ. ํ ์ด๋ธ๋ทฐ์ ์คํฌ๋กคํ๋ฉด ํค๋ณด๋ ๋ด๋ ค๊ฐ๋๋ก ์ฝ๊ฒ ์ค์ ํ ์ ์์. ํ ์ด๋ธ๋ทฐ ์ ํฌ๊ธฐ ๋๋น: ๊ธฐ๊ธฐ์ ๋๋น ๋์ด: ์กฐ์ ๊ฐ๋ฅ ๊ฐ๊ฒฉ: ๋ฌด์กฐ๊ฑด ๋ถ์ด์์ ( ์ปฌ๋ ์ ๋ทฐ๋ ๊ฐ๋ฅ . tableview์์ ๋์ด์ ธ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๊ฒ์ ์์ uiview ๋ฃ์ด์ inset ์ค ๊ฒ → ์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ฆผ์ ๋ฃ์ ๋ ๋ฌธ์ ) button image symbol ํฌ๊ธฐ ๋ฐ๊พธ๊ธฐ SFSymbol iOS 13 ์ดํ ๋ฑ์ฅ. iOS 12์์๋ ์์ ์ถ๊ฐํด์ ๋ฃ์ด์ผํจ. configuration์์ font scale๋ก ๋์ ๊ฐ๋ฅ Cell์ ์ฒดํฌ ๋ฐ์ค๋ ๋ณดํต ๋ฒํผ ๋ง๊ณ ์ด๋ฏธ์ง๋ทฐ๋ก ๊ตฌํํ๊ธฐ๋ํจ. ์ ์์ฒด๋ฅผ ํด๋ฆญํ์ ๋๋ ์ฒดํฌ ํ ์ ์๋๋ก .. 2023. 8. 1. [iOS] TIL_230727 UserDefaults ์ ์ฅํ๋ ์๊ธฐ ๋ทฐ๊ฐ ์ฌ๋ผ์ง ๋๋ง ์ ์ฅํ๊ฒ ๋๋ฉด ๋ง์ฝ ์ฌ์ฉ์๊ฐ ํ๋ฉด์ ๋ ๋ ค์ ์์ ๋ฒ๋ ธ์ ๋ ์ ์ฅ ์ ๋จ. → ๊ทธ๋ฅ ์์๋ก ํ์ํ ๋๋ง๋ค ์ ์ ๋ํด์ธ ์ ์ ์ฅํ๋ ๊ฒ ์ข์. ๊ทธ ์ ๋๋ ํจ์จ์ ๋ฌธ์ X ๋ทฐ ๊ฐฑ์ ์ ์ธ์ ํ๋ ๊ฒ ์ข์๊น? viewWillAppear : ํ๋ฉด์ด ๋ฐ ๋๋ง๋ค ํธ์ถ ๋๋ ํจ์. UserDefaults ๊น๋ํ๊ฒ ์ฐ๋ ๋ฒ ์ ์ ๋ํด์ธ ๊ฐ์ด ๋ค๋ฅธ ํ๋ฉด(๋ค๋ฅธ ํญ๋ฐ ๋ฑ)์์ ๋ณ๊ฒฝ๋๊ณ ํ์ฌ ํ๋ฉด ์์๋ ๋ฐ๋ก๋ฐ๋ก ์ ๋ฐ์ดํธ ๋ ๋ชจ์ต์ ํ์ธํ๋ ค๋ฉด viewWillAppear(_:)์์ ์ ์ ๋ํด์ธ ๊ฐ ๋ถ๋ฌ์์ค์ผํจ. UserDefaults์ ์ ์ฅ ํ ์ ์๋ ๊ฐ Int, String, Bool, Float, String Array ๊ทธ ์ธ์ enum, class ๋ฑ์ ์ธ์ฝ๋ฉ์ด๋ ๋์ฝ๋ฉ ๋ฑ์ ๊ณผ.. 2023. 7. 31. [iOS] TIL_230726 ํ๊ทธ ์ฌ์ฉํ๊ธฐ ์ฝ๋๋ก ํ๊ทธ ์ง์ ํ๋ ๋ฐฉ๋ฒ ํ ์คํธํ๋ IBAction ์ฐ๊ฒฐ ์ ์ฃผ์์ฌํญ ์์ ์ฒซ๋ฒ์งธ ํ ์คํธ ํ๋์์ ๋์ด๋ค๊ฐ Did End On Exit ์ด๋ฒคํธ๋ก ์ค์ ํด์ IBAction ํจ์ ๋ง๋ค์๋๋ผ๋ ๋๋ฒ์งธ ํ ์คํธ ํ๋์ ์ฌ์ง์ฒ๋ผ ๋์ด๋ค ๋ฃ์ด์ฃผ๋ฉด default ์ก์ ์ธ Editing Did End ๋ก ์ค์ ๋จ. ์ธ์คํํฐ์์ ์ํ๋ ์ก์ ์ผ๋ก ์์ ํด์ฃผ๋์ง ์ธ์คํํฐ์์ ๋์ด๋ค ์ฐ๊ฒฐ guard ๋ฌธ guard ๋ฌธ์ ์์ธ์ฒ๋ฆฌ๊ฐ ์๋์ชฝ ์๋ ์ฝ๋์์ชฝ์์ ์ผ์ด๋จ. guard ๋ฌธ์ return ์ ํด์ฃผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ฅ๋จ. ํ๊ทธ๊ฐ ์ด๊ฑฐํ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ํ ์คํธ ํ๋ ๋ค์ ์ธ ํ๊ทธ ๊ฐ๋ค ์ด๊ฑฐํ rawValue์ ๋ฏธ๋ฆฌ ์ง์ enum TextFieldType: Int { case id = 100 case email = 20.. 2023. 7. 31. [iOS] TIL_230725 1. Blog ์์ฑ๋ฒ ๋จ์ ์ฌ์ฉ๋ฒ ๋ณด๋ค๋ ์๊ฐ๊ณผ ์ค๊ณ๊ฐ ๋ค์ด๊ฐ ํด๊ฒฐ๋ฐฉ๋ฒ ๋ฑ์ ์ ๋๊ฒ ๋์ ์๋ณด๋ค๋ ์ง ์ฃผ 1ํ ์ ๋๊ฐ ์ ๋น. ํ ์ฃผ ๊ณต๋ถํ ๋ด์ฉ ์ ๋ฆฌ ๋ฑ. 2. Open Source License ํฐ ์ดํ๋ค ์คํ์์ค ๋ผ์ด์ ์ค ํ์ธํด์ ์ด๋ค ๊ฒ๋ค ์ฐ๋์ง ํ์ธํด๋ณด๊ธฐ ์คํ ๋ช๋ฐฑ๊ฐ๋ง ๋์ด๋ ์ ๋ช ํ๋ค๊ณ ์๊ฐํจ. ๋ค๋ฅธ์ฌ๋์ด ๋ง๋ ์ฝ๋๋ผ ์๋ฆฌ๋ฅผ ๊น๊ฒ ์ดํดํ์ง ์์๋ ๋จ. ์ด์ฐจํผ ์ ํ์ฝ๋๋ก ํ ๊ฒ. ๋ผ์ด์ ์ค ์ ํ์ธ ํด์ผ ํจ. - ๋ณดํต ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ๊ฒ๋ค์ ๋ช ์๋ง ๋์ด์์ผ๋ฉด ๋จ. Reference GitHub - raulriera/TextFieldEffects: Custom UITextFields effects inspired by Codrops, built using Swift Custom UITextFields ef.. 2023. 7. 30. [iOS] TIL_230719 โ ์ด๋ฏธ์ง์ ๋ผ๋ฒจ ๋ค์ด๊ฐ ๋ฒํผ ๋ง๋ค๊ธฐ ๋ฒํผ์ ์ด๋ฏธ์ง๋ ์ค์ด๋ค์ง ์์ → ๋์์ด๋๊ฐ ํฌ๊ธฐ ์กฐ์ ํด์ ๋ฆฌ์์ค ์ค. →์ด๋ฏธ์ง๋ทฐ๋ ์ฌ์ด์ฆ ์กฐ์ ๊ฐ๋ฅํด์ ๋ ์์ํจ. →๋ฒํผ ์คํ์ผ์ default๋กํ๋ฉด ๋ฒํผ ๋ด ์ด๋ฏธ์ง๋ ์์ ๊ฐ๋ฅ but ํ ์คํธ๋ฅผ ์ด๋ฏธ์ง ์๋๋ก๋ ๋ชป ๋ด๋ฆผ ์ด๋ฏธ์ง์ ๋ผ๋ฒจ์ ๋ง๋ค๊ณ ๊ทธ ์์ ๋ฒํผ์ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ๋ ๊ฐ๋ฅ Plain Style ์ผ ๋ : ๋ฒํผ ์ค์ฌ๋ ์ด๋ฏธ์ง ์ ์ค์ด๋ฌ. Default Style ์ผ ๋ : ์ค์ด๋ฉด ์ค์ด๋ค์ง๋ง ํ ์คํธ ๊ฐ๋ ค์ง → ํ ์คํธ ์๋ ๋ฒํผ์ผ ๋๋ง ์ธ๋งํ ๋ฏ → ์ด๋ฏธ์ง ๋ ํฌ๊ฒ๋ ์ ๋จ ๊ฒฐ๋ก : ๋ฒํผ์ ์์ ์์ฌ๋ก ์ํ๋ ๋ชจ์ ๋ง๋ค๊ธฐ๊ฐ ํ๋ฆ.. ๋ค์ํ๊ฒ ์์ฑ ์ค์ ํด๋ณด๋ฉด์ ์ตํ์ผํจ. (๊ฑ ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด์ ๋ฃ๋๊ฒ ๋ซ์๋ฏ,,,) โ User Defined Runtime At.. 2023. 7. 25. [iOS] TIL_230718 ์คํ ๋ฆฌ๋ณด๋ ์ฌ์ ํ ํ์ ์์ ๋ง์ด ์ฐ์ (์ผํ๋ชฐ ๋ฑ) ํ์์ ํน์ง 3๋ ์ ์ ์ ํ๋ก๊ทธ์ธ ์๊น → ์ฑ ๋ง๋ค ๋ ๋ฌด์กฐ๊ฑด ์ ํ๋ก๊ทธ์ธ ๋ฃ์ด์ผ ํจ. ์ฑ์์ ๋ฌด์กฐ๊ฑด ํํด๊ธฐ๋ฅ ๋ฃ์ด์ผ ํจ ์ ๋ฐ์ดํธ ํ์ฌ os 90ํผ์ผํธ ์ฌ์ฉ ๋ ์ด์์ ๋์ ์ํ๋ฉด ์ง๋ถ๋จ. Xcode project ํ๋๊ฐ ์ฑ ํ๋๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ. application์น์ ์ ์๋ 8๊ฐ์ง๋ ๋ชจ๋ ์ฒซ๋ฒ์งธ ๋น์ด์๋ App ํ ํ๋ฆฟ์ผ๋ก ๋ง๋ค ์ ์์ bundle identifier ๋์ค์ ๋ฐ๊พธ๊ธฐ ํ๋ ๋ ์ฒ์์ ์ ๋ง๋ค์ด์ผํจ. Team ์ ์ฑ์คํ ์ด ์ถ์ํ์ ๋ ๋์ค๋ ์ด๋ฆ์ธ๋ฐ ์ค๋ช ์๋๋ฉด ํ์ฌ๋ช ์ผ๋ก๋ง ๊ฐ๋ฅ ํ๋ก์ ํธ์ ํ๊ฒ project์์ ์ค์ ํ๋ฉด target์ ์ ์ ๋ก ๋ฐ์๋๊ธดํ๋๋ฐ (์ต์ ๋ฒ์ ๊ฐ์๊ฒ)์ด์ฐจํผ ๋์ค์ target์์ ๋ฐ๋ก ๋ค ์ค์ ํด ์ค ๊ฒ ํ๊ฒ ๋๋ฅด๋ฉด .. 2023. 7. 20. ์ด์์ฒด์ ๊ฐ์ 1. ์ด์์ฒด์ ๊ฐ์ ๊ฐ์ธ์ฉ ์ปดํจํฐ : ์๋์ฐ, ๋งฅ OS ๋ํ ์ปดํจํฐ or ์๋ฒ์ฉ : ์ ๋์ค, ๋ฆฌ๋ ์ค ์ค๋งํธํฐ,ํ๋ธ๋ฆฟ : ์๋๋ก์ด๋, iOS ๋ค๋น๊ฒ์ด์ , ์ค๋งํธ์์น, ๋์ฅ๊ณ , ์ธํ๊ธฐ : ์๋ฒ ๋๋ ์ด์์ฒด์ ์ปดํจํฐ๋ ์ด์์ฒด์ ๊ฐ ์์ด๋ ๋์ํ์ง๋ง ์ด์์ฒด์ ๊ฐ ์์ผ๋ฉด ์ฒ์ ์ค๊ณํ ๊ทธ๋๋ก๋ง ๋์ํ๊ณ ๋ค๋ฅธ๊ธฐ๋ฅ ์ถ๊ฐ ๋ถ๊ฐ ex. ์ ์ ์ ํ๊ธฐ - ํตํ๊ธฐ๋ฅ๋ง ์๊ณ ๋ณ๋ค๋ฅธ ๊ธฐ๋ฅ X (์ด์์ฒด์ X) ์ค๋งํธํฐ - ์ ํ๋ฆฌ์ผ์ด์ ์ถ๊ฐํด ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ (์ด์์ฒด์ O) ์ด์์ฒด์ ๊ฐ ํ๋ ์ผ 1. ํ๋ก์ธ์ค ๊ด๋ฆฌ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ + ๋ ธ๋ ๋ฃ๊ธฐ + ๊ฒ์ ํ๊ธฐ → ์ ๋ถ ๋์ ์คํ ๊ฒ์์ ํ๊ณ ์์ผ๋ฉด ํค๋ณด๋์ ๋ง์ฐ์ค๋ ๊ฒ์์๋ง ๋ฐ์ & ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ ๋ง์ฝ ์ด์์ฒด์ ๊ฐ ๊ด๋ฆฌ X → ๋ธ๋ผ์ฐ์ ๊ฐ CPU๋ฅผ ๋ ์ฐจ์งํด์ ๊ฒ์ ์คํ ๋ถ๊ฐ .. 2023. 5. 29. RxSwift 4์๊ฐ๋ง์ ๋๋ด๊ธฐ ์์ฆ 2 (1) - RxSwift๊ฐ ์๊ฒจ๋๊ฒ ๋ ๊ณผ์ RxSwift 4์๊ฐ๋ง์ ๋๋ด๊ธฐ ์์ฆ 2 ์ ๋ฆฌ (~ 38๋ถ 30์ด) ๐ Notion์์ ๋ณด๊ธฐ 2023. 5. 11. [Xcode] File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a ์ค๋ฅ ํด๊ฒฐ ์ค๋์ ์ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ค๋ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋์๋ค. File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a FSCalendar ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์๊ธด ์ค๋ฅ์๋๋ฐ ์คํ์ค๋ฒํ๋ก์ฐ์ ๋ต๋ณ์ ์์๋ ์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํ์ฌ ํด๊ฒฐํ์๋ค. ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด Pods์ FSCalendar์ minimun deployments ๋ฅผ 8.0์์ 11.0์ผ๋ก ๋ฐ๊ฟ์ฃผ์๋๋ ํด๊ฒฐ ๋์๋ค. 11.0์ผ๋ก ๋ฐ๊พธ๊ณ ๋๋ ์ ํ ๊ฐ๋ฅํ ๋ฒ์ ์ค์ 8.0์ด ์์ ์ฌ๋ผ์ก๋ค. XCode์์ ์ง์ ๊ฐ๋ฅํ ์ต์ OS version์ด 11.0์ผ๋ก ๋ฐ๋์ด์ ์๊ธด .. 2023. 4. 29. [iOS] SnapKit๊ณผ Then ์ฌ์ฉํ๊ธฐ iOS์์ ์ฝ๋๋ก ๋ทฐ ์งค ๋ ์์ฐ์ฑ์ ํฌ๊ฒ ๋์ฌ ์ฃผ์ด ๋ง์ด ์ฐ์ด๊ณ ์๋ SnapKit๊ณผ Then ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ SnapKit SnapKit๋ iOS์ OS X ๋ชจ๋์์ ์คํ ๋ ์ด์์์ ์ฝ๊ฒ ํ๊ธฐ ์ํ DSL์ ๋๋ค. DSL: ํน์ ํ ๋๋ฉ์ธ์ ํนํ๋ ์ธ์ด. Requirements iOS 10.0+ / Mac OS X 10.12+ / tvOS 10.0+ Xcode 10.0+ Swift 4.0+ SnapKit ์ฌ์ฉ๋ฒ SnapKit ์ฌ์ฉํ๊ธฐ ์ labelTimer.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ lblTimer.widthAnchor.constraint(equalTo: view.w.. 2023. 3. 29. ์ด์ 1 2 3 4 ๋ค์