
๊ฐ๋ฐ์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ๋จ๊ณ๋ณ๋ก ์์๋ณด๊ณ ์งํํ์ฌ ๋ณด๊ฒ ์ต๋๋ค. Updating Collection Views Using Diffable Data Sources | Apple Developer Documentation Overview ์ฃผ๋ก UICollectionViewDataSource ๋ฅผ ์ฑํํ์ฌ ์ปฌ๋ ์ ๋ทฐ๋ฅผ ์ฑ์๋๋ค. ๋ณต์กํ ๋ฐ์ดํฐ ์ถ๊ฐ, ์ญ์ ๋ฐ ์ด๋ ํธ๋ค๋ง ๊ณผ์ ์ ํผํ๊ธฐ ์ํด์ UICollectionViewDiffalbeDataSource ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. diffable data source ๊ฐ ์ ์ฅํ๋ section ๊ณผ item identifiers ๋ ๋ณํ์ง ์๊ณ ์์ ์ ์ธ identifiers ์ ๋๋ค. ์ด๋ UICollectionViewDataSource ์ ์์ ์ ์ด์ง ์์ indi..

๋ด์ฉ Moya ๋ก ๊ตฌ์ถํ ์๋ฒํต์ ํ๊ฒฝ์์ ์๋ฒํต์ ์ ์งํํ๊ณ RxSwift ๋ฅผ ์ฌ์ฉํด๋ณด์ ๐ ๋ค์ด๊ฐ๊ธฐ ์ ์ฐ์ , Moya ๊นํ๋ธ์์ ์ ๊ณตํ๋ RxSwift ๋ฌธ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. Moya ์ MoyaProvider ๋ ๋ช ๊ฐ์ง ์ ํ์ ์ธ RxSwift ๊ตฌํ์ ์ ๊ณตํฉ๋๋ค. request() ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ์์ฒญ์ด ์๋ฃ๋ ๋ ์ฝ๋ฐฑ ํด๋ก์ ๋ฅผ ์ ๊ณตํ๋ ๋์ Observable ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ success ์ error ๋ฅผ ๋ฐฉ์ถํ๋ trait ์ ํ ์ข ๋ฅ์ธ Single ์ ํด๋นํฉ๋๋ค. provider.rx.request(.zen).subscribe { event in switch event { case .success(let response): // do something with the data cas..

text field ๋ฅผ ํตํด ํค๋ณด๋๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ด๋ป๊ฒ ๋๋์ง ์์๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ , ๊ฒฐ๊ณผ๋ WWDC21 Customize and resize sheets in UIKit ์์ ๋ฑ์ฅํฉ๋๋ค. ํค๋ณด๋์ ๊ด๋ จ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. medium ๋์ด์ sheet ๋ automatic keyboard avoidance ๋ฅผ ์ง์ํด์ keyboard ๋ฅผ ๊ณ์ฐํด์ ์ปค์ง๊ฑฐ๋ ์ถ์๋๋ค๊ณ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ง๋ง, custom detent ์ ๋์ด์๋ ์์ฐ์ค๋ฝ๊ฒ ์ ์ฉ๋๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค. ๐ ํ์ธํด๋ณด์ ๋ ๊ฐ์ง๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ UISheetPresentationController ์ detents ํ๋กํผํฐ์ ๋ ๊ฐ์ง detent ๋ฅผ ์ค์ ํ๊ฒ ์ต๋๋ค. ์ฝ๋ let sheetVC = SheetVC(..

collection view ์์ ์ ํ๋ ์ ์ ๋ํด์ ์์๋ณด๊ณ ์ ํ ๋ indexPathsForSelectedItems ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ๊ฐ๋ฐ์ ๋ฌธ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. indexPathsForSelectedItems | Apple Developer Documentation The index paths for the selected items. ์ ํํ ํญ๋ชฉ์ด ์๋ค๋ฉด nil ์ ๋๋ค. var indexPathsForSelectedItems: [IndexPath]? { get } // Optional([[0, 0], [0, 1]]) ์ ๊ฐ์ด ์ถ๋ ฅ. ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ ํ์์ต๋๋ค. cell ์ด ํ๋๋ผ๋ ์ ํ๋ ๋ cancelButton ์ ๋ฑ์ฅํ๊ณ , deleteButton ์ ํ์ฑํ cell ์ด ๋ชจ๋..

Xcode 15(15A240d) ์ ๋ฐ์ดํธ ์ดํ YPImagePicker ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ์ฅ ํ๋กํผํฐ๊ฐ @available ๋ฅผ ๊ฐ์ง๋ฉฐ ์๊ธฐ๋ ์๋ฌ๊ฐ ์์์ต๋๋ค. ์ด๋ฅผ fork ํด์ ์ง์ ์ ์ฅ ํ๋กํผํฐ๋ฅผ ์ญ์ ํด๋ณผ๊น ์๊ฐ๋ ํด๋ณด๊ณ ์ด๋ฒ Xcode ์ ๋ฐ์ดํธ์๋ ๊ด๋ จ์๋๊ฑฐ ๊ฐ์์ ๊ธฐ๋ค๋ ค๋ดค์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค 2023.9.26 ๊ธฐ์ค์ผ๋ก ์ ๋ฐ์ดํธ ๋์์ต๋๋ค! https://github.com/Yummypets/YPImagePicker/releases/tag/5.2.2 ์๋ ์ปค๋ฐ ๊ธฐ๋ก์์ @available ๋ฅผ ๊ฐ์ง๋ ์ ์ฅ ํ๋กํผํฐ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค. ํด๋น ์๋ฌ๋ฅผ ๊ฒช๊ฒ ๋๋ฉด pod update ๋ฅผ ํตํด์ YPImagePicker ๋ฒ์ ์ 5.2.2 ๋ก ์ ๋ฐ์ดํธํ๋ฉด ๋ฉ๋๋ค.(cocoaPods 1.13.0 ๊ธฐ์ค) htt..
โ RxSwift ๋ mvvm ๊ณผ ํจ๊ป ์ฐ๊ธฐ๋ก ์ ๋ช ํ๋ฐ ๊ทธ ์ด์ ๋ฅผ ์์๋ณด์ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ฝ๋ ์ ๋ฐ์ดํธ๊ฐ ๋ณ๊ฒฝ์ฌํญ์ ์๋์ผ๋ก ๋ฐ์ํ๋๋ก ์ค์ ํ ์ ์๋ค๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์์ ์ถ๋ฐํ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋ฐ์ดํฐ ์คํธ๋ฆผ๊ณผ ๋ณ๊ฒฝ ์ฌํญ์ ์ ํ๋ฅผ ์ค์ฌ์ผ๋ก ํ๋ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ์ ๋ฆฌํ ์ ์์ต๋๋ค. ์ด์ฒ๋ผ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ๋ ์ด์ ๋ ํน์ ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ๋ณด๋ค ๋ก์ง์ ์กฐ๊ธ ๋ ์ง์คํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฐ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉ์ ํ ์ ์๋ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ReactiveX ์ด๊ณ , Swift ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด ๋ฐ๋ก RxSwift ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ RxSwift ๋ mvvm ํจํด์์ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐ๋ฉ๋๋ค. mvvm ํจํด์์๋ view model ์..

"์ธ์คํด์ค๊ฐ ๊ณ์ ์ฌ์ฉ๋์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ์ ๋จ์์์ด์ผ ํ๋ค." ๋ผ๋ ๋ช ๋ถ์ ์ฃผ๋ ๊ฒ์ด Strong Reference(๊ฐํ ์ฐธ์กฐ)์ ๋๋ค. ๋ ํผ๋ฐ์ค ์นด์ดํธ๊ฐ ์ฆ๊ฐ๋ ๋๋ ๊ฐํ ์ฐธ์กฐ์ธ ๊ฒฝ์ฐ์ ํด๋นํฉ๋๋ค. ์ด ๊ฐํ ์ฐธ์กฐ๋ ๋ณ๋์ ์๋ณ์๋ฅผ ๋ช ์ํ์ง ์์ผ๋ฉด ๊ฐํ ์ฐธ์กฐ๋ก ์ฌ๊ฒจ์ง๋๋ค. ์ด๋ ์ด๋ค ์ํฉ์ ๋ํด์ ํด๋์ค์ ์ธ์คํด์ค์ ์ฌ์ฉ์ด ๋๋ฌ์์๋ ๋ถ๊ตฌํ๊ณ ๋ ํผ๋ฐ์ค ์นด์ดํธ๊ฐ 0์ด ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ๋ผ์ง์ง ์๋ memory leak ์ด ๋ฐ์ํ๋ ๊ฒ์ ๊ฐํ์ฐธ์กฐ ์ํ(strong reference cycle)์ด๋ค. ์ธ์ ๋ฐ์ํ๋์? ๋ ๊ฐ ์ด์์ ์ธ์คํด์ค๊ฐ ์๋ก๋ฅผ ๊ฐํ๊ฒ ์ฐธ์กฐํ์ฌ ๋ฐ์ํ๊ฒ ๋๋ค. ๋ณ์์ ์ธ์คํด์ค๋ฅผ ํ ๋นํ๋ฉฐ ์๊ธฐ๋ ๋ ํผ๋ฐ์ค ์นด์ดํธ ์ด์ธ์ ์๋ก๊ฐ ์ฐธ์กฐํ๋ฉด์ ๋ ํผ๋ฐ์ค ์นด์ดํธ๊ฐ ์ถ๊ฐ๋ก ์ฆ๊ฐ. nil ์ ํ ..
์ํฉ fastlane ์ผ๋ก ๋ค์์ Info ํ์ผ์ด ์์ ๋์์ต๋๋ค. MARKETING_VERSION ํ๊ฒฝ๋ณ์์ ์ํฅ์ ๋ฐ๋ ๊ฒ์ด ์์๋ก ์์ ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํ๊ฒฝ๋ณ์๋ ํ๋ก์ ํธ์ ๋ฒ์ ์ผ๋ก ์ค์ ๋๊ณ ์์ต๋๋ค. ํ๋ก์ ํธ์ ๋ฒ์ ์ ๋ค์์ Info ํ์ผ์ ์ํฅ์ ์ฃผ๊ณ ์์์ต๋๋ค. ๊ทธ๋์ Bundle version string ๊ณผ Bundle version ์ ์ฐจ์ด์ ๋ํด์ ์ฐพ์๋ณด์์ต๋๋ค. ๊ณต์๋ฌธ์์์ ์ฐพ์๋ณด๋ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค. https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring https://developer.apple.com/documentation/bundl..
- YPImagePicker
- Algorithm
- MOYA
- IOS
- Protocol
- WWDC22
- APNS
- Swift
- RxCocoa
- containerBackground
- WWDC
- projectsetting
- configurable widget
- UserDefaults
- 2022 KAKAO TECH INTERNSHIP
- Firebase
- async/await
- Widget
- Objective-C
- MVVM
- OpenSourceLibrary
- Notification
- CloneCoding
- SwiftUI
- github
- rxswift
- ์๋ฒํต์
- watchOS
- urlsession
- WidgetKit
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday