Codable TypeMismatch 오류
·
Study/🚨 TroubleShooting
문제 커서 기반 페이지네이션 구현 중 next_cursor 값을 디코딩하면서 오류가 발생하였다. next_cursor로 다음 페이지를 계속해서 요청하다가 더이상 다음 데이터가 존재하지 않으면 0값을 가지고 온다. 응답 결과 디코딩 시 결과 값을 담을 구조체에 next_cursor 값의 타입이 두가지 경우가 존재하는 것이다. String 값으로 정의하였더니 다음과 같은 TypeMismatch 오류가 발생하였다. Swift.DecodingError.typeMismatch(Swift.String, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "next_cursor", intValue: nil)], debugDescription: "Expe..
[iOS/RxSwift] API 통신에서 Single과 Observable
·
Study/🚨 TroubleShooting
Sequence contains more than one element. RxSwift로 api 통신을 통해 로그인 기능 구현 중 다음과 같은 오류를 마주하였다. 이 오류와 함께 dispose가 되어버렸다. 오류를 해결하며 알게된 것들을 찬찬히 정리해보자! ✔️ Single single은 traits의 종류 중 하나로 Observable과 비슷한 기능을 수행한다. ✔️ Traits이란? Observable의 파생된 형태이다. Traits을 통해 필요한 이벤트만 사용하여 코드를 좀 더 직관적이고 명확하게 사용할 수 있도록 도와준다. ✔️ Single의 특성 Single은 항상 한 번의 흐름에 하나의 값 또는 에러를 방출한다. Single이 방출하는 이벤트는 onSuccess와 onFailure 2가지 뿐이..
DailyPin - 출시 프로젝트 회고
·
Study/🌱 SeSAC
새싹에 합격하고 힘차게 달려오다보니 출시 프로젝트를 결국엔 마주하게 되었고, 결국 출시까지 완료하게 되었다!! https://apps.apple.com/kr/app/dailypin-장소일기/id6470025950 ‎DailyPin - 장소일기 ‎매일 내가 다녀온 장소에 핀을 찍어 기록을 해보세요! 장소 기록을 통해 무엇을 했는지 돌아볼 수 있습니다. 장소를 검색하여 찾을 수도 있고, 원하는 장소를 지도에서 길게 눌러 선택할 수도 apps.apple.com 💡 기획 어떠한 앱을 만들면 좋을까.. 루틴 관리 어플을 만들까 고민도 해봤지만, API 통신 기능을 사용하고 싶었기 때문에 다른 주제를 고민하게 되었다. 평소 나의 추억들을 기록하는 것을 좋아한다. 여행을 다녀오거나 한 달 동안 다녀온 곳, 먹은 것 ..
23.11.03 금
·
Study/🌱 SeSAC
💡 Tableview ✅ itemSelected vs modelSelected tableview의 didSelectRowAt 역할 itemSelected → 인덱스 데이터 modelSelected → 셀 데이터 두 기능이 따로 작동해서 TableView Delegate의 didSelectRowAt 메서드처럼 한 번에 두 데이터를 받고싶으면 결합을 해야한다. ✅ Operator - Observable.zip tableview는 didselectRowAt 기능을 사용하려면 zip을 사용하여 itemSelected와 modelSelected를 결합하여 사용해야 한다. ✔️ combineLatest vs zip 2개 이상의 Observable을 결합하여 하나의 Observable을 만든다는 점에서는 비슷하다. ..