IOS๐45 [Combine] Cancellable์ด๋ element๋ค์ ๋ฐฉ์ถํ๋ ์คํธ๋ฆผ์ ๋ค ์ฌ์ฉํ๋ค๋ฉด cancel() ํด์ค์ผ ์์์ด dealloc ๋ ์ ์๋๋ฐ์. ์ฆ ์ด๋ฆ ๊ทธ๋๋ก cancellation(์ทจ์)๋ฅผ ์ํ ํ๋กํ ์ฝ์ ๋๋ค. ๋ง์ฝ cancel()์ ํธ์ถํ์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์ ? viewController์ deinit()์ด ํธ์ถ๋๊ณ ๋๋ ์คํธ๋ฆผ์ด ์ด์์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ฐฉ์ถํ๊ฒ ๋ฉ๋๋ค. deinit { print("ViewController deinit") } let publisher = [1, 2, 3].publisher publisher .map { $0 * 2 } .sink { value in print("\(value)") } //ViewController deinit //2 //4 //6 ์คํธ๋ฆผ์ด ์ด์์๋ค๋ฉด Timer, network.. 2023. 4. 17. [Combine] Scheduler๋ ๋ฌด๋ ค 1๋ ๋ง์ combine ๊ธ ์์ฑ.... ์ด๋ด์....ใ ์ค๋์ ์ด๋ฌ์ฟต ์ ๋ฌ์ฟต ๊ณต๋ถ๋ฅผ ํ๋ ์์ค combine์ด ๋จธ์๋๋ผ .. ใ ํ๊ณ ๋ณต์ต์ ํ๊ฒ ๋์๊ณ Scheduler ์ ๋ฆฌ๋ฅผ ๋๋์ด ํ๋ ค๊ตฌ ํฉ๋๋ค Scheduler closure์ ์คํ ์๊ธฐ์ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ํ๋กํ ์ฝ ๊ทธ๋ ์ต๋๋ค. scheduler๋ ํ๋กํ ์ฝ์ด๋ค์ ! protocol Scheduler ๊ณต์๋ฌธ์ Overview๋ฅผ ๋ณด๋ฉด You can use a scheduler to execute code as soon as possible, or after a future date. Individual scheduler implementations use whatever time-keeping system makes sense for them. S.. 2023. 4. 16. [WWDC 2021] Meet AsyncSequence ํ๋ง๋๋ก ์์ฝํ์๋ฉด sequence protocol์ async ๊ธฐ๋ฅ์ ๊ฐ๋ฅํ๊ฒ ํ protocol async/ await ํค์๋๋ฅผ ์ฌ์ฉํด ๋น๋๊ธฐ๋ฅผ ์ข ๋ ํธ๋ฆฌํ๊ฒ ๋ค๋ฃจ๊ฒ ํ๋๋ฐ collection type์ ๋ํด ์ฐ๋ฆฌ๋ for, while ๊ฐ์ sequence ๋ฃจํ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋จ ๋ง์ด์ง ? ใ ใ ใ ใ ์ด์ ๋ํ async๋ ๋ง๋ค๊ฒ ์ ํด์ ๋ง๋ค์ด์ง ํ๋กํ ์ฝ --> AsyncSequence ์ฆ sequence๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ๋ง๋ค๊ฒ ๋ค๋ ๊ฒ๋ง ๋ค๋ฆ ๋๋ค ์ธ์ ์์๋ sequence๋ฅผ ์๊ณ ์๋ค๋ฉด ์ด๋ฏธ asynceSequence๋ฅผ ์๋๊ฒ๊ณผ ๋ค๋ฆ์ด ์๋ค๊ณ ์ธ๊ธํ๊ณ ์๋๋ฐ์ ์ธ์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ด ์๋ค. asyncSequence๋ฅผ ์ฌ์ฉํ ์ฝ๋๋ ์์ ๊ฐ์ต๋๋ค. ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋ง๋ค์ด์ง url์ lines์ ๋ํด ์ฒซ๋ฒ์งธ ์ค์ .. 2022. 12. 18. [WWDC 2021] Make blazing fast lists and collection views ์ ์ ์ ๋ฆฌํด๋ ๊ธ์ธ๋ฐ .. advances in collectionview layout์ ๋ณด๊ธฐ ์ ์ ๊ฐ์ ๋ collectionView lifecycle๋ฅผ ๋ณต์ตํ๊ณ ์ ๊ธ์ ์ฐ๊ฒ ๋์๋ค. ์ด๋ฒ 2022 wwdc ๋ญ๊ฐ ๋์ฌ์ง ์ ๋ง ๊ถ๊ธํ๋ค ..! https://developer.apple.com/videos/play/wwdc2021/10252/?time=1251 Make blazing fast lists and collection views - WWDC21 - Videos - Apple Developer Build consistently smooth scrolling list and collection views: Explore the lifecycle of a cell and learn how to appl.. 2022. 5. 27. [WWDC 2021] Your guide to keyboard layout ์ค๋์ keyboard์ ๊ดํ ์์์ ์ดํด๋ณด์์ต๋๋ค. ์ฌ์ค ์ฒ์ ์์ ์ ๋ชฉ์ ๋ณด์์๋ ํค๋ณด๋ ?? ํ ๋ญ๊ฐ ๋๋ฆฐ๋ค .. ์ถ์์ต๋๋ค ใ ใ ์ฐฝ์ ํ์์ ํค๋ณด๋ ์ฌ๋ฆฌ๊ณ , ๋ด๋ฆฌ๊ณ ํ ๋ ๋ ์ด์์ ๋ณ๊ฒฝ ์ฝ๋๊ฐ ์ด๋ ๊ฒ ํ๋๊ฑฐ ๋ง๋ ..? ์ผ๋งค ๊ฐ์๋ฐ ํ๋ ์ฐ์ฐํจ์ด ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋์ iOS 15์์ ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ์๋์ง ์์๋ณด๊ณ ์ ์์์ ๋ณด๊ณ ์ ๋ฆฌํ๊ฒ ๋์์ต๋๋ค !! https://developer.apple.com/videos/play/wwdc2021/10259/ Your guide to keyboard layout - WWDC21 - Videos - Apple Developer Discover how you can use the Keyboard Layout Guide to manage how keyboa.. 2022. 5. 26. [WWDC 2021] Protect mutable state with Swift actors ์ด๋ฒ ์ธ์ ์๋ await/async ์ ์ด์ด ์๋กญ๊ฒ ๋ฑ์ฅํ Actor ํ์ ์ ๋ํด ์์ธํ ์๊ฐํฉ๋๋ค !! https://developer.apple.com/videos/play/wwdc2021/10133/ Protect mutable state with Swift actors - WWDC21 - Videos - Apple Developer Data races occur when two separate threads concurrently access the same mutable state. They are trivial to construct, but are notoriously... developer.apple.com Actor in swift ์ฒซ๋ฒ์งธ๋ก, actor๊ฐ ๋ฑ์ฅํ๊ฒ ๋ ์ด์ ์ ๋ํด ์๊ฐํฉ๋.. 2022. 5. 24. [WWDC 2021] Meet async/await in Swift What's new in Swift ์์์ ๋ณด๋ค๊ฐ async/ await ๋ฌธ๋ฒ์ ์๋กญ๊ฒ ์๊ฐํ๋๊ตฐ์ ..! doc๋ฅผ ํตํด ๋จผ์ ์ ๋ฆฌํ๋ ์ ์ด ์๋๋ฐ ์์์ ๋ณด๋ฉด์ ๋ณต์ตํ๋ ๊ฒธ, ๋ค์ ํ๋ฒ ์ดํด๊ฐ ์ ์๊ฐ actor ๋ถ๋ถ์ ๋ค์ ๊ณต๋ถํด๋ณด๋ ค๊ตฌ ํฉ๋๋ค !! ์๋ ๋น๋์ค์ doc๋ฅผ ๋ณด๋ ๊ฒ์ ๊ฐ๋ ฅํ ์ถ์ฒ๋๋ฆฝ๋๋ค์ https://developer.apple.com/videos/play/wwdc2021/10132 Meet async/await in Swift - WWDC21 - Videos - Apple Developer Swift now supports asynchronous functions — a pattern commonly known as async/await. Discover how the new syn.. 2022. 5. 17. [RxSwift] Transforming Operator (map, flatMap, scan, reduce) ์ค๋์ observable ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ operator์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. 1) Map Observerble์ ์ํด ๋ฐฉ์ถ๋๋ ์์ดํ ๋ค์ ๋ํด ๊ฐ๊ฐ ํจ์๋ฅผ ์ ์ฉํ์ฌ ๋ณํํฉ๋๋ค. map์ ์ฌ์ฉํ๋ ์์์ ๋๋ค. let ob = Observable.of("1", "2", "3", "4") ob.map { Int($0)! } .subscribe(onNext: { item in print(item) }).disposed(by: disposeBag) //์ถ๋ ฅ //1 //2 //3 //4 stringํ์ ์ observable์ map operator๋ฅผ ํตํด ๋ชจ๋ item์ Int ํ์ ์ผ๋ก ์บ์คํ ํด์ฃผ์์ต๋๋ค. 2) FlatMap flatMap์ map๊ณผ๋ ๋ค๋ฅด๊ฒ ์คํธ๋ฆผ์์ ๋ฐฉ์ถ๋๋ ์์ดํ ๋ค์ ๋ค๋ฅธ observ.. 2022. 5. 16. [WWDC 2020] Advances in diffable data sources 2021 DiffableDataSource์ ๊ฐ์ ์ฌํญ์ ๋ณด๊ธฐ ์ , ๊ด๋ จ ์์์ด 2020๋ ๋๊บผ๋ ์๊ธธ๋ ๋จผ์ ๋ณด๊ณ ๊ฐ์๋ ์๊ฐ์ ์ ๋ฆฌํ๊ฒ ๋์๋ค. https://developer.apple.com/videos/play/wwdc2020/10045 Advances in diffable data sources - WWDC20 - Videos - Apple Developer Diffable data sources dramatically simplify the work involved in managing and updating collection and table views to create dynamic and... developer.apple.com iOS 14๋ถํฐ Outline Style UI๊ฐ ์ถ๊ฐ๋์์ต.. 2022. 5. 12. [WWDC 2019] Advances in UI Data Sources https://developer.apple.com/videos/play/wwdc2021/10252/ Make blazing fast lists and collection views - WWDC21 - Videos - Apple Developer Build consistently smooth scrolling list and collection views: Explore the lifecycle of a cell and learn how to apply that knowledge to... developer.apple.com ๋ฅผ ์ฝ๊ธฐ ์ ์ DiffableDataSource์ ๋ํด ์ดํดํ๊ณ ์ Advances in UI Data Sources๋ฅผ ๋จผ์ ๋ณด๊ฒ ๋์์ต๋๋ค. ๊ณต๋ถํด๋ณด๊ณ ์ถ์๋ ๋ด์ฉ์ด๋ผ ์ญ ํ๋ฆ์ ์ ๋ฆฌ.. 2022. 5. 10. [RxSwift] Filtering Operator (distinctUntilChanged) DistinctUntilChanged ์ฐ๋ฌ์ ๊ฐ์ ๊ฐ์ด ์ค๋ฉด ์๋ตํ๋ค. Observable.of(1, 2, 2, 1, 3) .distinctUntilChanged() .subscribe(onNext: { print($0) }) .disposed(by: disposeBag) /* Prints : 1 2 1 3 /* 2022. 5. 10. [RxSwift] Error Handling Operator Network Error Handling์ ๋ํด ์์๋ณด๋ค๊ฐ ๊ด๋ จ operator๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ตฌ ํฉ๋๋ค. ์ฐธ๊ณ : https://okanghoon.medium.com/rxswift-5-error-handling-example-9f15176d11fc RxSwift #5 — Error Handling & Example ์ด๋ฒ์๋ RxSwift์์ ์ด๋ป๊ฒ Error Handling ์ ํ๋์ง ์ฑ์์ ํํ ๋ฐ์ํ๋ ์๋ฌ ์์ ๋ค์ ํตํด ์์๋ณด๋ ค๊ณ ํ๋ค. okanghoon.medium.com RxSwift์์๋ Error Handling์ ํ๋๋ฐ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. 1. Catch ํน์ ๊ฐ์ผ๋ก error ๋ณต๊ตฌ 2. Retry ์ฌ์๋ 3. materialize / dematerialize : Sequence.. 2022. 5. 10. [์ํคํ ์ณ] RIBs๋ RIBs๋ ์ฐ๋ฒ์์ ๋ง๋ ์ํคํ ์ณ์ ๋๋ค. ์ฌ์ค ์๋ ์ ํํ ๋ฆฌ์ผ 1์ ์กฐ๊ธ ๋ฐ๋ผํด๋ณด๊ธดํ๋๋ฐ .. ๋๊ฒ ๋ณต์ก๋ณต์กํ๋ ๊ธฐ์ต๋ง ๋จ์์๋๊ฑฐ ๊ฐ์์ ... ๊ทธ๋์ RIBs๋ฅผ ์ด๋ฃจ๋ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ํด ํํ ๋ฆฌ์ผ2๊น์ง ๋ณด์๊ฒ ๋ค ๋ค์ํ๋ฒ ์ ๋ฆฌ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค ์ด๋ฒ์ ํ๋ก์ ํธ๋ ๊ผญ ์ ์ฉํด๋ณด๋ ค๊ตฌ์ !! What are RIBs For? RIBs๋ ์ฐ๋ฒ์ ํฌ๋ก์ค ํ๋ซํผ ์ํคํ ์ณ ํ๋ ์์ํฌ์ ๋๋ค. RIBs๋ ๋ง์ด ์ฝํ์๋ state๋ฅผ ํฌํจํ๊ณ ์๋ ํฐ ๋ชจ๋ฐ์ผ ์ฑ์ ์ํด ๋์์ธ ๋์์ต๋๋ค. ์ฐ๋ฒ๋ฅผ ์ํ ์ด ํ๋ ์์ํฌ๋ฅผ ๋์์ธ ํ ๋ ์๋ฆฌ ์์น์ ์ค์ํ๊ณ ์ ํ์์ต๋๋ค. Encourage Cross-Platform Collaboration : ์ฐ๋ฆฌ ์ฑ์ ๋ณต์กํ ๋ถ๋ถ์ ๋๋ถ๋ถ iOS์ Android์์ ๋น์ทํฉ๋๋ค. RIBs๋ Androi.. 2022. 5. 6. [Combine] ConnectablePublisher ConnectablePublisher connecting, canceling์ ๋ช ์์ ์ธ ์๋ฏธ๋ฅผ ๊ฐ์ง publisher subject์ ๊ฐ์ด publisher์ ์ผ๋ถ์ ๋๋ค. element๋ฅผ ์์ฐํ๊ธฐ ์ ์ถ๊ฐ์ ์ธ configuration, setup์ ์ํํ ํ์๊ฐ ์์๋, ConnectablePublisher๋ฅผ ์ฌ์ฉํฉ๋๋ค. connect() ๋ฉ์๋ ํธ์ถ ์ , publisher๋ ์ด๋ค element๋ ์์ฐํ์ง ์์ต๋๋ค. makeConnectable()์ ์ฌ์ฉํ์ฌ ConnectablePublisher์ ์์ฑํฉ๋๋ค. private func connectablePublisher(){ let publisher = ["hi", "hello"].publisher.makeConnectable() let cancellab.. 2022. 5. 3. [RxSwift] Schedular๋ (subscribeOn, observeOn) ์ด๋ฆ์ ์กฐ๊ธ ๋ค๋ฅด์ง๋ง ์ด๋ ๊ณณ์์ ์์ ํ ์ง(main, global) ์คํ ํ๋ฆ์ ์์น๋ฅผ ์ง์ ํด์ฃผ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๊ธฐ๋ณธ swift์์๋ thread ์์ ์ ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด GCD๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. RxSwift์์ GCD์ ๋์๋๋ ๊ฐ๋ ์ด Schedular๋ผ๊ณ ํ ์ ์์ต๋๋ค. Schedular๋ฅผ ํตํด Observable์ ์ด๋์ ์์ฑํ ์ง, Observer๊ฐ ์ด๋์ ๊ด์ฐฐํ ์ง ์ง์ ํด ์ค ์ ์์ต๋๋ค. observeOn ๊ณผ subscribeOn์ ์ค์ผ์ค๋ฌ๋ก ์๋๋๋ ๋ํ์ ์ธ ๋ ์ฐ์ฐ์์ ๋๋ค. observeOn๊ณผ subscribeOn ๋์ ์ฐจ์ด๋ฅผ ๋ช ํํ๊ฒ ๊ตฌ๋ถํ๋๋ฐ ์์ด http://rx-marin.com/post/observeon-vs-subscribeon/ observeOn vs. subscr.. 2022. 4. 29. [์ํคํ ์ณ] ReactorKit์ด๋ ๋ฐฐ์ธ๊ฒ ์ ๋ง ๋ง๋ค ..! ํ๋ ํ๋ ์ํคํ ์ณ๋ค์ ์์๊ฐ๋ฉด์ MVx ์ธ์ ์ฑ ์ํคํ ์ณ ๊ฐ๋ ์ด ์ ์ ๊ตฌ์ฒดํ๋๋๊ฑฐ ๊ฐ๋ค. ์ด๋ฒ์๋ reactorKit ๋ํ๋จผํธ๋ฅผ ์ฝ์ด๋ณด๊ณ ๋ค๋ฅธ ์ํคํ ์ณ์ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์์๋ณด๋ ค๊ตฌ ํ๋ค !! ์ฐธ๊ณ : https://github.com/ReactorKit/ReactorKit GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional Swift applications A library for reactive and unidirectional Swift applications - GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional S.. 2022. 4. 24. [Swift] Optional์ ๋ํ ๊ณ ์ฐฐ Swift๋ ์์ ์ฑ์ ์ค์ํ ์์ ์ค ํ๋๋ผ๊ณ ์๊ฐํ๋ ์ธ์ด์ ๋๋ค. ๊ทธ ๋ฐํ์ด ๋๋ ๋ฌธ๋ฒ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ต์ ๋(Optional)์ ๋๋ค. ์ฒ์ ์ต์ ๋์ ๋ดค์๋ ๋ค๋ฅธ ์ธ์ด์์๋ ์ฐพ์๋ณผ ์ ์๋ Swift๋ง์ ๋ ํนํ ๋ฌธ๋ฒ์ด๋ผ๊ณ ์๊ฐ ๋ค์์ต๋๋ค. ์ผ๋ง์ ์ต์ ๋์ ๋ฉํํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด๋ฐ ๋ฉํํ๋ ๋ฐฉ์์ด ๊ท์ฐฎ์ ๋ฒ(?)๋ ํ๋ฐ ์ ์ต์ ๋์ ์ฌ์ฉํ๋์ง์ ๋ํ ์ง๋ฌธ์ ๋ฐ์์ต๋๋ค. ์ต์ ๋์ ์ต์ ๋์ด์ง ์ ์ฌ์ฉํ๋์ง ์๊ฐํด๋ณธ์ ์ด ์์ด์ nil๊ฐ์ผ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ง ์๋๋ค๋ผ๋ ์๋ฑํ ๋๋ต์ ํ๊ฒ ์ฐธ ์์ฝ๋๋ผ๊ตฌ์ ..(nil๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ค๋ฅธ ๊ฐ๋ค๊ณผ ๊ฐ์ด ๊ฐ์ ๊ฐ์ง๋ค๊ณ ํฉ๋๋ค ํํ) ๊ทธ๋ฌ๋ ์ค ์ต์ ๋์ ๋ํด ์ข์ ๊ธ์ ์ฝ๊ฒ ๋์ด ๋ฉด์ ๋ ๋ง์ ๋ชปํ ์๊ฐ๊ณผ ๊ทธ ๋๋ต์ ๋ค์ ํด๋ณด๊ณ ์ ํฉ๋๋ค !! Optional์ด๋ ? ๊ฐ์ด .. 2022. 4. 23. [Combine] Subject๋ (AnyPublisher) ์ ์ : publisher, subscriber์ ๊ฐ์ด ํ๋กํ ์ฝ์ด๋ค์ ! ๊ทธ๋ฆฌ๊ณ subject๋ ์ฌ์ค publisher๋๋๋ค. subject๋ Publisher ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ send() ๋ฉ์๋๋ฅผ ํตํด ๊ฐ์ ์ฃผ์ ํฉ๋๋ค. ์ฆ publisher๋ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ฃผ์ฒด์๋ค๋ฉด ์ด ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ ์ฃผ์ ํ ์ ์๋ ๊ฒ์ด ๋ฐ๋ก subject์ ๋๋ค. subject๋ ๋ค์๊ณผ ๊ฐ์ด ๋๊ฐ์ง ํด๋์ค๋ก ๊ตฌํ๋ ์ ์์ต๋๋ค. PassthroughSubject CurrentValueSubject PassthroughSubject downstream ๊ตฌ๋ ์๋ค์๊ฒ ์์๋ฅผ ๋ฐฉ์ถํ๋ broadcast ํฉ๋๋ค. ์์๋ฅผ ๋ด ์๋ค. PassthroughSubject๋ฅผ ๋ง๋ค์ด subscriber1๊ณผ subscriber2๋ฅผ.. 2022. 4. 17. [Combine] Combine, Publisher, Subscriber ์ ๋ํด์ ์ค๋์ Apple ์์ ๋ง๋ Reactive ํ๋ก๊ทธ๋๋ฐ์ ์ํ ํ๋ ์ ์ํฌ "Combine"์ ๋ํด ์ ๋ฆฌ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณค WWDC2021์์ ์๋ก ๋์จ Concurrency์ ๋ํด์๋ ์์๋ณผ ์์ ์ ๋๋ค. โก๏ธ ์ค๋์ ๋ชฉํ : Combine, Publisher, Subscriber, Publisher ↔๏ธ Subscriber ์ ์ : ์ด๋ฒคํธ ์ฒ๋ฆฌ ์ฐ์ฐ์๋ค์ ํตํด ๋น๋๊ธฐ ์ด๋ฒคํธ๋ค์ ํธ๋ค๋ง ํ ์ ์๊ฒ ํ๋ ํ๋ ์์ํฌ Combine ํ๋ ์์ํฌ๋ ์๊ฐ์ด ํ๋ฆ์ ๋ฐ๋ฅธ ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ ์ธ์ Swift API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ ๋ค์ํ ์ข ๋ฅ์ ๋น๋๊ธฐ ์ด๋ฒคํธ๋ฅผ ๋ํ๋ผ ์ ์์ต๋๋ค. Combine์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์๋ ๊ฐ์ ๋ ธ์ถํ๋ Publisher์ Publisher๋ก๋ถํฐ ํด๋น ๊ฐ์ .. 2022. 4. 17. [WWDC 2021] ARC in Swift: Basics and beyond (ARC ์ต์ ํ) ์์ : https://developer.apple.com/videos/play/wwdc2021/10216/ ARC in Swift: Basics and beyond - WWDC21 - Videos - Apple Developer Learn about the basics of object lifetimes and ARC in Swift. Dive deep into what language features make object lifetimes observable,... developer.apple.com Object lifetimes and ARC traveler1์ ๋ง์ง๋ง ์ฌ์ฉ ํ์ release operation์ ์ํ traveler1์ Retain operation์ ์ํ๋์ง ์๋๋ฐ ์๋ํ๋ฉด ์ด๊ธฐ.. 2022. 4. 16. ์ด์ 1 2 3 ๋ค์