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가지 뿐이..
[iOS/Swift] Modal Style과 LifeCycle
·
Study/🚨 TroubleShooting
컬렉션 뷰의 셀을 선택한 후 좋아요 버튼 해제 시 DB에서 삭제되어 변경된 데이터가 컬렉션 뷰에 업데이트 되도록 구현하고 있었다. 버튼 클릭 후 데이터가 삭제후 dismiss를 수행하도록 구현하였다. 뷰가 다시 나타나려면 viewWillAppear()가 호출 될 것이고, 뷰가 갱신되어 깔끔하게 정리 될 컬렉션 뷰를 기대하였다.. 삭제 쿼리가 정상 작동하는 것은 확인했는데 대체 왜 바로 reload가 수행되지 않을까? 결국 sos 요청 후 굉장한 깨달음을 얻게 되었다ㅠㅠ viewWillAppear()에서 데이터가 잘 변경되었는지 확인해보려 출력시켜보니 viewWillAppear()가 호출되지 않고있었다. 그렇다면 뷰가 사라지긴 한건가? viewDidDisappear()도 호출해보자 애초에 컬렉션 뷰가 사라..
테이블 뷰 셀 오류
·
Study/🚨 TroubleShooting
오류 났을 때 바로 정리 좀 할걸.. 왜 안되지 하다가 해결하고 나서야 블로그를 쓸 생각을 했다.. 💻 구현 테이블뷰 컨트롤러를 이용하여 쇼핑 리스트 추가하기를 구현하고 있었다. 오른쪽에 즐겨찾기 버튼과 왼쪽에 체크박스 이미지를 놓고 별 버튼을 누르면 채워진 별로 즐겨찾기 활성화, 셀을 누르면 체크박스 이미지가 채워져 확인 완료 표시를 구현하려 했다. checked는 체크박스 체크 유무, like는 즐겨찾기 유무 🚨 문제 버튼 이벤트 적용한 후 리스트를 추가하면 즐겨찾기 버튼 이미지가 제멋대로 채워졌다가 사라지는 오류가 생겨남 셀을 선택하면 체크박스 이미지 뷰의 이미지를 변경하였으나, 리스트를 추가하면 체크박스가 모두 리셋이 됨. 🤯 나의 노력 테이블 뷰에대한 이해도가 매우 낮은 상태다 보니 어떤 메서드..