일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SwiftUI
- observable
- RxSwift
- 라이징캠프
- IOS
- 개발블로그
- distinctUntilChanged
- Moya
- RequestInterceptor
- 컴공선배
- ReactiveX
- UIKit
- cellForRowAt
- SWIFT
- flatmap
- URLSession
- restfulAPI
- alamofire
- UIListContentConfiguration
- observe(on:)
- iOS교육
- dispatchqueue
- QoS
- Main Thread
- RxCocoa
- ContentMode
- UICollectionViewListCell
- Xcode
- interceptor
- defaultContentConfiguration
- Today
- Total
목록RxSwift (5)
RB의 iOS 개발 이야기

안녕하세요. 오늘은 오랜만에 RxSwift를 다시 공부해볼 겸 곰튀김 님의 강의 영상을 시청하던 중 전혀 모르고 있던 꿀팁을 알게되어 공유드릴 겸 글을 작성하게 되었습니다! 바로 확인해보시죠! 먼저 간단하게 어떻게 메모리 누수를 일으키는지 코드를 살펴 보겠습니다. private func downloadJson(_ url: String) -> Observable { return Observable.create() { f in DispatchQueue.global().async { let url = URL(string: url)! let data = try! Data(contentsOf: url) let json = String(data: data, encoding: .utf8) DispatchQueue.m..

이번 포스트 또한 이전 포스트에서 이어지는 글 입니다! 이전 포스트를 읽고 오시면 이해하시는데 더욱 도움이 될 것 같습니다 ㅎㅎ https://rb-ios.tistory.com/13 Rx가 지원하는 스케줄러(schedulers)의 종류들 이번 포스트는 바로 직전의 포스트의 다음 글로 내용이 이어집니다! 이전 포스트를 확인하고 넘어오시는 것을 추천드립니다 ㅎㅎ https://rb-ios.tistory.com/12 Alamofire RequestInterceptor 사용해보기 로그 rb-ios.tistory.com 직전 포스트에서 Rx의 Scheduler에 대하여 알아봤습니다. 그런데? .observe(on: SerialDispatchQueueScheduler.init(qos: .background)) 일단..

로그인 같은 작업을 수행하게되면 대개 로그인 API에서 accessToken과 refreshToken을 반환하게된다. 이러한 토큰들은 앱 내의 여러 작업을 수행하는 API를 요청할 때에 필요한 값들인데 오늘은 회원탈퇴를 구현하는 부분에서 구현하는데에 시간이 꽤 많이 소요된 부분을 정리하고자 한다. 회원탈퇴를 요청할 때에 내가 사용중인 API는 요청 바디는 없으며 요청 헤더로 응답받은 accessToken과 고유 key를 넣게된다. 회원탈퇴 API를 요청하는 부분에서 고려해야할 상황이 있는데 로그인 후 앱을 사용하다가 token이 만료되는 상황이 있을 수 있다는 것이다. 대개 흔치 않은 경우지만 개발자는 사용자의 모든 경우의 수를 생각하고 개발해야 하기에 회원탈퇴 시 token이 만료되는 상황을 고려해보았..

iTunes Search API를 활용하기 오늘은 애플의 iTunes Search API를 활용하여 기본 앱인 앱스토어의 검색 기능을 구현하던 중 메모리 누수와 앱 정지 이슈를 경험하게 되어 작성하게 되었습니다. 예제는 RxSwift를 기반으로 코드를 작성하였고 RxSwift를 학습하면서 예제를 구현하고있어 문제를 파악하고 해결하는데 시간이 꽤 걸렸던 것 같습니다. 원하는 기능 (실제 앱 스토어 기능 구현) 초기 화면 - 검색결과가 없는 (당연하게도) 상태 단어 검색 중 - 검색 중에도 검색 결과는 나타나지 않음 검색 버튼 클릭 - 검색 창의 단어로 API를 요청하여 검색 결과를 받아 테이블 뷰에 보여짐 취소 버튼 클릭 - 모든 결과와 검색 창의 단어도 사라지며 초기 상태로 돌아옴 검색 단어 수정 - 검..

Observable vs Subject Observable은 이벤트를 방출하는 역할을 담당하고 Observer는 Observable을 구독하며 이벤트를 받아서 처리하는 역할을 담당합니다. 여기서 Observable은 새로운 값을 받을 수 없다. 그렇다면 Observer 역할을 하는 녀석은 누구일까? 글의 제목에서 유추할 수 있듯이 Observer 역할을 하는 친구가 Subject입니다. Subject의 RxSwift 문서를 확인해보면 Observable을 상속받고 있고 ObservavleType을 채택하고 있습니다. 그렇기에 정확히는 'Observer 역할을 하는 친구가 Subject이다.' 라는 말 보다는 'Observable과 Observer의 역할을 모두 가지고 있는 친구가 Subject이다.'가 ..