TIL - 2024.03.10 일요일 (개인프로젝트 7일차)

· 성취/개선/학습한 내용 🏆

  • Logger
  • Alamofire Router pattern
  • UIView.frame.width

· 경험한 이슈 😫

  • uiview.frame.width를 사용해 collectionViewCell의 크기를 잡았었는데, 계속해서 CollectionViewCell이 나오지 않아 당황했던 이슈가 있었다. 알고 보니 uiView.frame.width는 뷰가 그려지고 난 후에 값을 받아와서 그랬던 것이었다.( 'subview들의 레이아웃이 설정된 후 불리는 메서드'인  viewDidLayoutSubviews에 불러오면 된다.)

· 고민되는 지점⁉️🤔

  • UIScreen.main.bounds가 곧 deprecated 될 예정이라, 다른 대안을 찾다가 찾은 view.window?. windowScene?. screen.bounds 같은 경우엔 뷰가 다 그려진 시점에 값을 받아올 수 있어서, 어떻게 시점을 활용해서 쓸 수 있을지 모르겠다. 물론 dispatchqueue를 활용하면 되긴 하겠지만, 이는 임시방편인 느낌이 들기 때문에 고민이 된다.

· 생각보다 덜/더 걸리는 작업과 그 이유 😱/🥴

  • 실시간으로 버튼을 눌렀을 때, 눌렀는지 아닌지를 확인해서 버튼의 색을 바꾸는 작업을 viewModel을 통해서 하는 부분에서 좀 시간이 걸렸다. 또한 button의 addtarget의 action에서 파라미터에 sender을 이용하는 부분을 잘 활용하지 못해 오래 고민했던 것 같다.
  • 단순히 Logger를 print의 기능을 대신하는 것이라 생각해서 학습을 하였는데, debug, error, info 등 고려해서 사용해야 하는 부분도 있고, 왜 그렇게 사용해야 하는지 그리고 시뮬레이터에서 앱을 실행해서 써보면 콘솔에서 왜 안 뜨는지 이유를 몰라서 찾아보다가 시간을 많이 사용했었다.
  • UIScreen.main.bounds를 사용하지 않고 다른 것을 이용하려다가 시간을 더 사용했다. 

· 느낀 점 🌟

 사실 주말 동안은 기존 피드백을 확인해 보면서 기존에 사용하지 않았던 여러 가지 코드들을 사용해 보는 시간을 많이 가졌다. 하지만 집에서만 작업을 하다 보니 뭔가 집중도 제대로 되지 않아서 진행율이 생각했던 거보다 낮은 상태로 주말을 끝내게 되었다. 빠르게 뷰라도 다 그려놔야 하는데, 뷰만 먼저 그려놓고 기능을 구현하지 않으면 어차피 의미가 없다는 생각이 들어서 한 뷰의 기본적인 기능까지 구현을 한 다음에 다음 뷰로 넘어가는 식으로 작업을 하고 있다. 벌써 이터레이션 3에 접어드는데, 너무 안일하게 있으면 출시를 못할 것 같다. 그래서 조금 더 속도를 높여야 향후 일정에도 차질이 없을 것이다. 마지막으로 이렇게 개인 프로젝트를 하면 할수록 어떻게 개인개발자가 혼자서 디자인, 기획, 개발까지 다 할 수 있지라는 의문이 들기도 하고, 그 앱으로 돈까지 번다니 대단하다고 존경심까지 든다.