작업내역 1주차 토요일 - donggeonoh/bithumb-techcamp-ios-1st GitHub Wiki

작업 내역

  • 공통
    • Network 설계에 대한 코드 리뷰
  • 동건
    • 입출금 현황 화면 피드백 반영 중
      • UUID 기본 값 추가
      • 피드백 반영하여 view에 업데이트 할 model의 경우 protocol로 의존성을 낮춰 설계하도록 할 예정
  • 제로
    • CoinList 화면 콜렉션 뷰의 데이터 소스 클래스의 네트워크 통신 기능 구현 진행 중
  • 허황
    • 네트워크 통신(WebSocket) 추상화 진행 중
    • PR 코멘트
    • 네트워크 통신(HTTP, WebSocket, API Model) 설계 설명

고민 및 해결

  • 동건
    • 입출금 현황에 대한 인디케이터 색깔을 지정 할 때 hex 값으로 지정할 때 고민

      UIColor의 init의 경우 hex 컬러를 받는 생성자가 없습니다. 처음엔 extension을 이용하여 UIColor의 init에 hex 컬러를 받는 생성자를 생성하려고 하였습니다. 제로에게도 의견을 물어 보았는데 Asset에 color를 hex color로 추가 할 수 있다는 것을 알게되어 Asset을 이용하여 컬러 지정의 문제를 해결하였습니다.

  • 제로
    • CoinList DataSource 외부(ViewController)에서 fetchCoinList 함수를 부르지 않게 하기 위해서
    • CoinList DataSource클래스에서 코인 정보를 담고있는 프로퍼티를 lazy var로 설정하고 lazy var의 초기값에 fetchCoinList 함수를 넣음

      생각해보니 lazy var의 초기값이 비동기 함수의 반환값이기 때문에 항상 빈 배열이 반환될것이라고 예상되어 lazy var가 아닌 다른 방법을 사용해야 할것으로 결론내렸습니다.

  • 허황
    • 네트워크 통신(WebSocket) 추상화

      추상화할 때 HTTP 통신과 비슷한 방식으로 추상화를 진행했습니다.

    • 실제 네트워크에 의존하지 않고 WebSocket을 Unit Test 하는 방법

      아직 해결 방안이 떠오르지 않아 자료를 조금 더 찾아보겠습니다.