1. Blog ์์ฑ๋ฒ
- ๋จ์ ์ฌ์ฉ๋ฒ ๋ณด๋ค๋ ์๊ฐ๊ณผ ์ค๊ณ๊ฐ ๋ค์ด๊ฐ ํด๊ฒฐ๋ฐฉ๋ฒ ๋ฑ์ ์ ๋๊ฒ ๋์
- ์๋ณด๋ค๋ ์ง
- ์ฃผ 1ํ ์ ๋๊ฐ ์ ๋น. ํ ์ฃผ ๊ณต๋ถํ ๋ด์ฉ ์ ๋ฆฌ ๋ฑ.
2. Open Source License
- ํฐ ์ดํ๋ค ์คํ์์ค ๋ผ์ด์ ์ค ํ์ธํด์ ์ด๋ค ๊ฒ๋ค ์ฐ๋์ง ํ์ธํด๋ณด๊ธฐ
- ์คํ ๋ช๋ฐฑ๊ฐ๋ง ๋์ด๋ ์ ๋ช ํ๋ค๊ณ ์๊ฐํจ.
- ๋ค๋ฅธ์ฌ๋์ด ๋ง๋ ์ฝ๋๋ผ ์๋ฆฌ๋ฅผ ๊น๊ฒ ์ดํดํ์ง ์์๋ ๋จ. ์ด์ฐจํผ ์ ํ์ฝ๋๋ก ํ ๊ฒ.
- ๋ผ์ด์ ์ค ์ ํ์ธ ํด์ผ ํจ. - ๋ณดํต ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ๊ฒ๋ค์ ๋ช ์๋ง ๋์ด์์ผ๋ฉด ๋จ.
Reference
GitHub - raulriera/TextFieldEffects: Custom UITextFields effects inspired by Codrops, built using Swift
Custom UITextFields effects inspired by Codrops, built using Swift - GitHub - raulriera/TextFieldEffects: Custom UITextFields effects inspired by Codrops, built using Swift
github.com
GitHub - WenchaoD/FSCalendar: A fully customizable iOS calendar library, compatible with Objective-C and Swift
A fully customizable iOS calendar library, compatible with Objective-C and Swift - GitHub - WenchaoD/FSCalendar: A fully customizable iOS calendar library, compatible with Objective-C and Swift
github.com
GitHub - hackiftekhar/IQKeyboardManager: Codeless drop-in universal library allows to prevent issues of keyboard sliding up and
Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more. - GitHub - ...
github.com
GitHub - onevcat/Kingfisher: A lightweight, pure-Swift library for downloading and caching images from the web.
A lightweight, pure-Swift library for downloading and caching images from the web. - GitHub - onevcat/Kingfisher: A lightweight, pure-Swift library for downloading and caching images from the web.
github.com
+swiftyjson, alamofire ๋ฑ…
โ Dependency Manager
- CocoaPods : ๊ฑฐ์ 100ํผ ์ง์. ๊ต์ฅํ ๋ง์ด ์ฌ์ฉ. but ํฐ๋ฏธ๋๋กํด์ ๋ณต์ก, m1,์ธํ ๋ฐฉ๋ฒ ์ฐจ์ด๊ฐ ์์
- Carthage (์ ์ ์จ๊ฐ๋ ์ถ์ธ, ์ ๋ฐ์ดํธ ์ ์ ํจ)
- Swift Package Manager : ์ ํ์ด ๋ง๋ ๊ฒ. ์ง๊ธ์ ์คํ์์ค๋ค์ด ๊ฑฐ์ ๋ค ์ง์ํด์ฃผ๋ ๋ฏ
โ Deployment Target
project์์ ์ค์ ํํ target์ ์๋ ๋ฐ์๋์ง๋ง target์์ ๋ฐ๊ฟ์ฃผ๋ฉด ๋ฐ๋๋๋ก ๋จ.
- Project
- Target
โ spm ์ํ๋ ๋ฒ์ ์ ํ ๋ฐฉ๋ฒ
๋ณดํต ๊ฑฐ์ Up to Next Major Version ํจ
ํ๋ฒ ์ค์นํ๋ฉด ๋ค๋ฅธ ํ๋ก์ ํธ ํ ๋๋ ๊ณ์ ๋จ์์์.
๋ฒ์ ์ซ์ ์๋ฏธ (๋ฒ์ ๋ฃฐ)
3.1.2
3 : major
1 : minor
2 : patch - ๋ฒ๊ทธ ์์
โ ํจํค์ง ์ ๋ฐ์ดํธ ๋ฐฉ๋ฒ
โ ๋ ์ด์์์ superview์ ์ผ์ ๋น์จ๋ก ์ง์ ํ๊ธฐ
- SuperView์ Equal Heights๋ก ์ฐ์ ์ง์
- ์ธ์คํํฐ์์ ์ํ๋ ๋น์จ ์ค์
๐ FSCalendar
GitHub - WenchaoD/FSCalendar: A fully customizable iOS calendar library, compatible with Objective-C and Swift
A fully customizable iOS calendar library, compatible with Objective-C and Swift - GitHub - WenchaoD/FSCalendar: A fully customizable iOS calendar library, compatible with Objective-C and Swift
github.com
class ์ง์ ํด์ฃผ๋ฉด ๋ฐ๋ก ์ฌ์ฉ๊ฐ๋ฅ
์ธ์คํํฐ์ ์์ฑ ์ค์ ๋ค์ด ๋ธ (์ค..์ฑ๊ธฐ)
๐ TextFieldEffects
GitHub - raulriera/TextFieldEffects: Custom UITextFields effects inspired by Codrops, built using Swift
Custom UITextFields effects inspired by Codrops, built using Swift - GitHub - raulriera/TextFieldEffects: Custom UITextFields effects inspired by Codrops, built using Swift
github.com
๐ IQKeyboardManager
GitHub - hackiftekhar/IQKeyboardManager: Codeless drop-in universal library allows to prevent issues of keyboard sliding up and
Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more. - GitHub - ...
github.com
ํค๋ณด๋ ์ฌ๋ฌ ๊ธฐ๋ฅ ๊ตฌํ
Github Readme
readme๋๋ก AppDelegate์ ์ถ๊ฐ
์ํ๋ฐ ํฌ๊ธฐํผ ์ ํํ๋ ๋ฌธ์ ๊ฐ ์์. ๊นํ ์ด์ ๋ณด๋ฉด์ ํด๊ฒฐํ๊ฑฐ๋ ์๋ ํํ ๋ฆฌ์ผ ๋ณด๋ฉด์ ํด์ผ ํจ.
Tutorial
์ด ์์ ์จ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๊ฒ์ ๊ฒ ์์๋ ค์ค
๐ Kingfisher
https://github.com/onevcat/Kingfisher
์ด๋ฏธ์ง ๋ค์ด๋ก๋์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋ด๋ถ์ ์ผ๋ก ์๋์ผ๋ก ์บ์ฑ ์ง์ํด์ ํ ๋ฒ ๋ถ๋ฌ์ค๊ณ ๋๋ฉด ๋ก๋ฉ x
- apple์ http๋ฅผ ์๋์ผ๋ก ๋ง์. ๋ณด์์ ์ผ๋ก ์์ ํ์ง ์์ ์ฃผ์์ฌ์ ์์์ ๋ง์๋ฒ๋ฆผ. https๋ก ํด์ผํจ.
- http ์ฐ๊ณ ์ถ์ผ๋ฉด App Transport Security Setting (ATS) ์ต์ ์ ์ด์ฉํด์ ํต๋ก ์ด์ฉ ๊ฐ๋ฅ.
โ ATS ์ค์ ๋ฐฉ๋ฒ
์ฌ๋ฌ ์ต์ ๊ฐ๋ฅ
โ ๋ค๋น๊ฒ์ด์ ์์ญ์ ๋นจ๊ฐ ์ค ๋จ๋ ๋ฌธ์
→ ์ฐธ์กฐ ํ ํ์ผ์ด ์ฌ๋ผ์ ธ์ ๊ทธ๋ผ
์ด๋ฏธ์ง ๋์ด์ ๋ฃ์ ๋ ์ธ ๊ฐ ๋ค ์ฒดํฌ ํ๊ธฐ
์ ๋ค์ด๊ฐ๋์ง ํ์ธ ๋ฐฉ๋ฒ
์ ๋ค์ด๊ฐ์์ (์์์ Add to targets ์ฒดํฌํด์ )
โ ํด๋์ค ์ ์ธ ํ ๋ ๋ณ์ ๊ฐ์ ธ์ค๋ฉด ์ค๋ฅ ๋ฐ์
ํด๋์ค ์ ์ธํ ๋ ๋ ์ค์ด ๊ฑฐ์๋์์ ์คํ ๋๊ธฐ ๋๋ฌธ์ a์ ๋์ ๋๋ฆฌ๋ค ๊ฐ๋ค์ด ๋ค์ด๊ฐ๊ธฐ ์ ์ ํค๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ์ค๋ฅ
3. Enum(์ด๊ฑฐํ)
0๊ณผ 1์ด ๋ฌด์จ ์ฉ๋์๋์ง ๊ธฐ์ต ์ ๋ ์ ์์. ์ฃผ์๋ฌ์๋ ๋์ง๋ง ๋๋ฌด ๊ธธ์ด์ง ๊ฒ.
enum์ ์ฃผ๊ด์์ผ๋ก ๊ฐ๊ด์์ผ๋ก ๋ฐ๊พธ๋ ๋๋
์ปดํ์ผ ์์ ์ enum case๋ค์ ํ์ธํ ์ ์์ด, ์คํ๋ ํด๋จผ ์๋ฌ ๋ฑ ๋ฐฉ์ง ๊ฐ๋ฅ.
rawValue ์ฌ์ฉํ๋ ค๋ฉด enum์ ํ์ ์ง์ ํด์ผํจ
rawValue๋ ์๋์ผ๋ก 0๋ถํฐ ์์ํด์ ์ ํด์ง
rawValue ์์ ์ง์ ๊ฐ๋ฅ, ์ง์ ์ ๋ ๊ฒ์ 1์ฉ ๋๋ฉด์ ๋ค์ด๊ฐ
CaseIterable
→์ด๊ฑฐํ์ ๋ฉค๋ฒ๋ค์ ์ํํ ์ ์๋ ์ปฌ๋ ์ ํ์ ์ฒ๋ผ ์ฌ์ฉ์ด ๊ฐ๋ฅ. ๋ฐฐ์ด์ฒ๋ผ ์ธ ์ ์์
CaseIterable ์ ํ๋ฉด ์ค๋ฅ
4. ํ๋ฉด์ ํ
โ Present Modally - Page Sheet
๋ค๋ก๊ฐ๊ธฐ ์ ๋ง๋ค์ด๋๋จ
โ Present Modally - Full Screen
๋ค๋ก๊ฐ๊ธฐ ๋ง๋ค์ด์ผํจ
โ ์ด์ ํ๋ฉด์ผ๋ก ๋์๊ฐ๊ธฐ
์ด๋ฐ ์์ผ๋ก ์์ชฝ ์ธ๊ทธ ํด์ ์ด์ ํ๋ฉด ๋์๊ฐ๋ ค๊ณ ํ๋ฉด ๋ฌดํ์ ์ผ๋ก ํ๋ฉด์ด ์์ ๊ฒน์ฒ์ ๋จ๊ธฐ ๋๋ฌธ์ ์ ๋จ
unwind ๊ตฌํํ๊ธฐ
โ Current Context
๋ค๋น๊ฒ์ด์ ๋ฐ๋ ํญ๋ฐ ๋ณด์ด๋ ์ฑ๋ก ํ๋ฉด ์ ํ.
full screen ํ์ ๋๋ ํ๋ฉด ๋์์ ๋ ๋ค๋น๊ฒ์ด์ ๋ฐ๋ ํญ๋ฐ ์๋ณด์์
โ ๋ทฐ์ปจํธ๋กค๋ฌ ์๋ช ์ฃผ๊ธฐ
๋ทฐ์ ์๋ช ์ฃผ๊ธฐ
- viewDidLoad
- viewWillAppear
- viewDidAppear
- viewWillDisappear
- viewDidDisappear
์๋ ์๋ ๋ค์ฏ๊ฐ์์ ํ์ง๋ง iOS 17๋ถํฐ viewIsAppearing ์ถ๊ฐ ๋ ๊ฒ (์ง์ ๋ค ํด์ค์ iOS 13๋ถํฐ ์ธ ์ ์์ ๊ฒ)
#function
ํ์ฌ ์ฝ๋ ํธ์ถ ํ ํจ์ ์ด๋ฆ ์๋ ค์ค.
print("CalendarViewController",#function)
์๋ช ์ฃผ๊ธฐ ํจ์ ํธ์ถ ๋๋ ๋ชจ์ต
Presentation style์ ๋ฐ๋ผ ์๋ช ์ฃผ๊ธฐ๊ฐ ๋ค๋ฆ → ์ง์ ํด๋ณด๋ฉด์ ์๋ช ์ฃผ๊ธฐ ํ์ธ ํด๋ณด๊ธฐ
'SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] TIL_230728 (0) | 2023.08.01 |
---|---|
[iOS] TIL_230727 (0) | 2023.07.31 |
[iOS] TIL_230726 (0) | 2023.07.31 |
[iOS] TIL_230719 (0) | 2023.07.25 |
[iOS] TIL_230718 (0) | 2023.07.20 |