일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Navigation
- UI
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- uikit
- ObjC
- iOS 13.0+
- Tuist
- regex
- github
- TCA
- xcodecloud
- SWIFT
- Firebase
- concurrency
- composablearchitecture
- xcode
- Git
- network
- iOS 개발자
- 정규표현식
- SWIFTUI
- swiftdata
- ios18
- navigationsplitview
- IOS
- combine
- 모바일
- 개발
- test
- Alamofire
- Today
- Total
목록combine (4)
iOS 개발 기록
📄목차subscribe와 receivesubscribe와 receive의 정의subscribe vs receiveReference subscribe와 receive둘 다 Combine에서 Scheduler를 정하는 인스턴스 메소드이다. 그런데 테스트해보니 둘이 내뱉는 결과가 아예 달랐다. // 테스트를 위한 코드 var cancellable = Set() let publisher = [1, 2, 3].publisher publisher .map{ num in print("map: \(Thread.current)") return num } .subscribe(on: DispatchQueue.global()) .sink(receiveCompletion: { completion in print("complet..
📄목차Combine이란? 왜 Combine? Combine의 구성 요소Upstream, DownstreamPublisherSubscriberCombine이 데이터를 다루는 과정다른 비동기 처리 방법과 비교vs RxSwift vs SwiftConcurrency참고 Combine이란? 이벤트 처리 연산자들을 결합하여 비동기 이벤트들을 원하는대로 처리하기 위한 프레임워크.Publisher 프로토콜을 통해 시간의 흐름에 따른 데이터 핸들링이 가능하다. Subscriber를 통해 값을 전달 받을 수 있으며, Publisher는 Subscriber가 구독하여 값을 요청할 때에만 데이터를 방출한다. 왜 Combine? 높은 가독성 : Combine으로 선언형 프로그래밍이 가능하다.비동기 처리의 일원화 : GCD, K..
📄목차CollectionView에 Combine 적용하기 DiffableDataSource를 사용한 이유 UICollectionView CollectionView 기본 레이아웃 설정 Combine PublisherModelAPI request Publisher를 구독하고 diffableDataSource에 업데이트ViewModel CollectionView에 데이터를 적용 결과Reference CollectionView에 Combine 적용하기 RxSwift + RxCocoa 조합처럼 보통 Combine + SwiftUI 조합으로 많이 쓰인다고 한다. 그런데 회사에서는 UIKit을 사용중인데 Combine + UIKit 조합은 어떻게 사용하나 공부하다가 자주 사용하는 CollectionView에 적용해 ..
📄목차Error발생 상황 원인 질문Reference Error// 로그창 Error Domain=NSURLErrorDomain Code=-999 "cancelled"발생 상황 Combine으로 네트워크 통신을 구현해보려고 시도하다가 발생한 문제. var cancellables = Set() AnyPublisher . ( 각종 메소드 ... ) .sink ( ... ) .store(in: &cancellables) 다음과 같이 코드를 작성했는데 에러가 발생했다. 원인 sink로 구독한 후에 반환되는 AnyCancellable를 메모리에 올리지 않아 바로 구독이 해지되어 생기는 문제. → 때문에 변수로 설정한 후에 메모리에 올려야 한다. var cancellable: AnyCancellable? cancel..