## :smiley: 참여자 - S010 김승언 👑 - S015 류연수 👑 - S018 박재현 👑 - S065 홍동현 👑 <br> ## :file_cabinet: 과정 - 각자의 코드를 공유 - 구현 중 이슈에 대해 토론 <br> ## :open_book: 피어세션 의견 ### Sigleton - 싱글턴을 쓰면 프로토콜 추상화를 하자 꼭! 테스트가 가능해진다. - 근데, 주입에 대해 많은 고민을 하게 됨... 그냥 사용을 최소화하는 방법을 생각하자 - ### 네트워크 레이어 - API 요청, 응답에 대한 계층을 나누고 프로토콜로 추상화하여, 테스트 가능한 구조로 구현 - 원하는 결과값을 반환하는 모의 객체를 만들어 주입해주는 방식으로 테스트 ### Rechability - status 확인은 어디서? AppDelegate? SceneDelegate? ### Cache - downLoadTask로 받아온 Data는 Temp에 저장해 두고 다운로드 완료가 되었다면 Temp에서 사라진다. - NSCache는 메모리에 저장 - FileManager를 사용해서 CachesDirectory에 저장(Disk) ### CollectionView - collectionView cell delete시, 데이터 삭제 후 cell.deleteItems (fade 애니매이션 후 reloadItem을 해주는 느낌으로 동작함) - compositional layout을 사용할 때 group의 count를 지정하는 것 말고 column의 개수를 화면 크기에 맞춰 자동으로 증가시키는 방법은 없을까? (flowlayout처럼) ### Navigation push / pop - pop(animated: false)과 push(animated: true)를 순서대로 호출하면 navigation이 사라져 push가 작동되지 않는다. <br> ## :honeybee: 꿀팁 ### 다크모드 시뮬레이터에서 아래 단축키를 누르면 `다크모드` <-> `라이트모드` 전환이 가능하다. `Command`+ `Shift`+ `a` ### NumberFormatter ```swift let numberFormatter = NumberFormatter() numberFormatter.numberStyle = .decimal guard let result = numberFormatter.string(from: NSNumber(value: total)) else { return "0" } ``` ### 맥북 터치바가 뜨끈뜨끈해지면 하리보를 올려 먹으면 맛있다. **!주의, 너무 뜨거우면 하리보 사망**