10월 14일 (목)
오늘은 iOS-HIG에 대해서 활동학습을 가졌다. 아이폰의 기본 앱들을 참고하여 어떤 HIG가 적용되었는지 분석하는 시간을 가졌는데, 예습으로 쭉 정독하는 방법보다 훨씬 더 머릿속에 잘 들어오는 마법같은 시간이였다. 우리 팀은 아이폰의 설정
앱을 분석해보았고, 야곰과 함께 modal
과 navigation
의 차이점을 분석하고 알아보는 유익한 시간이였다. 이후에는 알라딘과 프로젝트 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
- 참고링크