Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 3.81 KB

211014_HIG,_재귀함수,_반복문,_Thread,_Serial_Queue,_Xcode_debugging.md

File metadata and controls

47 lines (38 loc) · 3.81 KB

211014 HIG, 재귀함수, 반복문, Thread, Serial Queue, Xcode debugging

TIL (Today I Learned)

10월 14일 (목)

학습 내용

오늘은 iOS-HIG에 대해서 활동학습을 가졌다. 아이폰의 기본 앱들을 참고하여 어떤 HIG가 적용되었는지 분석하는 시간을 가졌는데, 예습으로 쭉 정독하는 방법보다 훨씬 더 머릿속에 잘 들어오는 마법같은 시간이였다. 우리 팀은 아이폰의 설정 앱을 분석해보았고, 야곰과 함께 modalnavigation의 차이점을 분석하고 알아보는 유익한 시간이였다. 이후에는 알라딘과 프로젝트 STEP 2를 진행하는 것으로 하루를 보냈다.

문제점 / 고민한 점

  • 활동학습 때 나왔던 의문점
    • modality과 navigation의 차이는 무엇일까?
    • text field와 text view의 차이점은 무엇일까?
    • Pull-Down Buttons와 Pop-Up Buttons에 대해서 알아보자.
    • 뒤로가기 버튼을 꾹 누르면 쌓여있는 화면리스트가 나오는데 이건 무슨 기능이지?
  • 프로젝트 진행중에 나왔던 의문점
    • 재귀함수를 쓰는것이 과연 적절할까?
    • 반복문으로 어지러워진 코드 내부를 어떻게하면 깔끔하게 정리할 수 있을까?
    • 누구의 턴인지 표현하기 위해 Bool 타입을 활용했는데, 사용자 정의 타입으로 구현해도 괜찮을 것 같지만 과연 적절한 방법일까?
    • 재귀함수를 써도 return이 되면 스택에서 안쌓이는게 아닌가?

 

해결방법

  • modality는 임시화면, 사용자의 이전 컨텍스트와 별개의 화면이며, 종료하려면 명시적인 작업이 필요한 임시 모드로 컨텐츠를 표시하는 기술이다.
  • navigation은 앱의 지도라고 이해했다. modal처럼 샛길로 빠지는 것이 아닌 정해져있는 길?로 이해했다.
  • Pop-Up Buttons은 상호간에 추가옵션을 공통적으로 제공하는 버튼이다. (계속 바뀌는 메뉴)
  • Pull-Down Buttons은 버튼과 연관된 액션들을 보여준다. 카메라 버튼이면 카메라와 연관된 액션을 보여준다. (항상 같은 메뉴)
  • 뒤로가기 버튼을 꾹 누르면 쌓여있는 화면리스트가 내가 생각하기엔 Pull-Down Button인 것 같다. (가이드에 비슷한게 그것 뿐..)
  • 프로젝트를 진행하면서 들여쓰기를 하지 않으려고 재귀함수를 사용하여 게임을 구현해보았는데, 아무리 생각해도 성능적으로 좋지 못하다는 생각이 들어서 반복문으로 재구현을 했다. 덕분에 재귀함수와 반복문의 차이점을 이해하는데 많은 도움이 되었다.
  • 재귀함수를 호출하고 return을 해도 바로 종료되는 것이 아니라 재귀함수가 계속 스택에 쌓이다가 마지막에 호출된 함수가 종료되면, 그제서야 쌓였던 재귀함수가 return 되면서 차례대로 제거된다.
    • Coda가 잠깐 와서 준 꿀팁: 재귀함수를 디버깅모드로 확인하여 스택이 쌓이는지 확인할 수 있다. 디버깅 모드시 콘솔에 n을 입력하고 엔터를 하면 다음 코드로 이어진다.

해결하지 못한 점

  • repeat-while문에 내부는 최대한 고쳐보았으나 좋은 방법이 떠오르지가 않아서 리뷰어인 Soll에게 조언을 구하기로 하였다.
  • 누구의 턴인지 표현하기 위해 Bool을 활용하는 법도 충분히 가독성면에서 괜찮다는 판단을 내렸지만, 사용자 정의 타입으로 확장성을 향상시킬 수 있는지 궁금하여 이것도 Soll에게 PR을 보내면서 조언을 구해보기로 하였다!

공부해볼 키워드

  • Thread
  • Serial Queue
  • Xcode debugging