Skip to content

3주차 월요일

Juhee Kim edited this page Feb 12, 2019 · 1 revision

2019-02-11 3주차 튜터링 노트

활동 1 : App 2개를 선정하여 예상되는 Thread 모식도를 그려보기

  1. 사진 앱
    • 사용자에게 화면을 보여주는 Main Thread
    • iCloud와 주기적으로 동기화를 진행하는 Thread
    • 사용자가 사진을 공유하려고 할때, 주변 AirDrop 가능 기기들을 별도 Thread 를 통해서 검색하고 이를 Main Thread를 통해 화면에 보여준다.
    • 사용자가 스크롤을 하면 저장소에서 사진을 미리 읽어오는 Thread
    • 사진을 추가하거나 편집할 경우 이를 iCloud에 동기화를 요청하는 Thread
  2. 음악 앱
    • 사용자에게 화면을 보여주는 Main Thread
    • 음악을 재생하는 Thread
    • 음악을 다운로드 하는 Thread
    • 사용자가 검색하거나 특정 Network Call이 필요한 기능을 수행하려 할 때 이를 요청하는 Thread , 결과값은 Main Thread를 통해 다시 화면에 보여준다.

활동 2 : TableView와 관련된 동작들을 생각해보고 역할을 나누어서 표현하기

  • TableView가 직접 위임자를 설정하지 않는다.
  • TableView가 화면을 구성할 때,
    1. DataSource에게 section의 수를 요청(ask)한다.
    2. 화면에 그려내야 하는 section, row에 적합한 TableViewCell을 DataSource 에게 요청(ask)한다.
    3. DataSource는 TableView에게 재사용할 수 있는 Cell을 요청한다.
    4. TableView는 Reuse Queue 에서 재사용 가능한 Cell이 있는지 확인하고, 있다면 해당 Cell을 전달하고 없다면 새로운 TableViewCell을 생성하여 전달한다.
    5. DataSource는 전달받은 Cell을 config하고 이를 넘겨준다.
  • 사용자가 TableViewCell을 터치했을 때,
    1. Delegate에게 IndexPath(section, row)의 cell이 터치 이벤트를 받았다고 알려(tell)준다.
    2. Delegate가 cell이 터치되었을 때의 동작을 수행한다.

기타