[iOS] TLDR 개발 일지 - 홈 화면 기능 구현
·
iOS 프로젝트/TLDR
홈 화면 기능 구현 TLDR 홈 화면은 긴 글을 입력하고 버튼을 누르면 서버에 긴 글을 전송합니다. 오늘은 ViewModel 구현과 서버에 전송하는 부분에 대해 다루겠습니다. ViewModel 구현 홈 화면의 기능이 많지 않기 때문에 ViewModel도 그리 길지 않습니다. ViewModel은 구조체를 이용해서 구현했습니다. 상속, 객체 비교같은 클래스의 특성을 이용하지 않기 때문에 구조체를 이용했어요. 그리고 ViewModel에서 text 데이터를 가지고 있게 했습니다. 사용자가 text를 입력하면 updateText 메서드를 통해 해당 Observable의 데이터를 갱신합니다. text가 갱신되면 ViewController의 데이터 바인딩 부분에서 View를 업데이트 합니다. TextView에 tex..
[iOS] TLDR 개발 일지 - 구현(공통, 런치 화면 v2)
·
iOS 프로젝트/TLDR
MVVM Observable 구현 MVVM은 Observable을 이용해 구현했습니다. RxSwift, Combine도 있지만 일단 가장 기본적인 방법으로 구현해보고 싶었습니다. 프로퍼티 옵저버를 이용해 value가 변경되면 등록한 리스너를 실행합니다. 이렇게 MVVM의 데이터 바인딩을 구현하였습니다. 추후 RxSwift나 Combine을 이용해 리팩토링을 할건데 둘 중 무엇을 선택할지는 그때 상황을 봐야할 거 같네요. 웬만하면 프레임워크인 Combine을 선택하지 않을까 싶습니다. HttpError 구현 Http 에러 상황에 따라 catch를 다르게 하면 예외처리를 좀 더 세부적으로 할 수 있겠다고 생각했습니다. 그래서 HttpError라는 열거형을 구현했어요. 근데 명확하게 구현하는 게 무척 어렵더라..
유정주