View의 Drawing Cycle
·
iOS/UIKit&SwiftUI
출시 프로젝트를 하면서 compositional layout을 사용하며 만난 오류를 해결하며 알게 된 내용을 정리해보고자 한다!Issue셀에 들어갈 데이터에 맞게 동적으로 높이를 지정해야 했는데, 레이아웃 구성 시 아무리 estimated를 지정해줘도 높이가 처음부터 알맞게 들어가지 않았다.여러 방법을 사용했지만 오른쪽 하단 날짜 레이블의 높이가 처음엔 맞지 않았고, 다른 날짜를 탭 후 다시 돌아오면 높이가 알맞게 들어오는 것을 알 수 있다.해결!layoutIfNeeded() 를 호출하여 문제를 해결하였다.추정치는 말 그대로 추정하여 높이를 설정하는 것이기 때문에 처음에 정확하게 들어갈 수 없었고, 셀에 데이터가 삽입 된 이후에 레이아웃 업데이트 요청을 해야했던 것이다..View의 Drawing Cycl..
RxSwift 정리하기
·
iOS/RxSwift&Combine
💡 RxSwift관찰 가능한 순차적 형태와 함수 형태의 연산자를 통해 비동기 이벤트를 위한 코드사용자가 언제 어떠한 버튼을 누를지 알 수 없기 때문에 비동기 처리가 필요하다.비동기 방식으로 이벤트를 전달하고 전달 받기 위해 RxSwift를 사용하는 것이다.이벤트를 생성하고 전달하는 Observable이벤트를 받아 처리하는 ObserverSubscribe를 하여 Observer가 이벤트를 받는다. 💡 Observable과 Observer이벤트 시퀀스를 비동기적으로 생성한다.Observable을 통해 이벤트를 방출(emit)할 수 있다.Observable과 Observer를 통해 Stream(데이터의 흐름)을 통제하고, Operator(just, of, take..)를 통해 ㄴㄴStream을 변경, 조작..
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을 만든다는 점에서는 비슷하다. ..