---
# System prepended metadata

title: Untitled

---

아래 리스트는 위 테이블뷰가 동작함에 있어 일어나는 일을 순서와 상관없이 나열해둔 것입니다.
아래 리스트를 테이블뷰의 동작의 순서에 맞게 재배치하고, 해당 메시지의 주체는 누구인지 아래 역할 중 골라보세요(???의 위치).

역할
Table View
Table View Delegate
Table View Data Source
Cell Reuse Queue
Cell
User

---

User : 앱을 켜야지~

Table View Data Source가 Table View에게 : 보여줘야 하는 Section의 수는 몇개입니까?

Table View Data Source이 Table View에게 : Section S은(는) 몇 개의 Row를 보여줘야 합니까?
-> 이 항목은 여러 번 사용됩니다. 필요할 때마다 복사해서 S 값을 바꿔 사용하세요
//원래는 섹션마다 전부 물어보는데 코드에 return 3 으로 고정해두면 전부 물어보지는 않음

Table View Data Source이 Cell Reuse Queue에게 : (S, R) IndexPath에 보여줄 셀인데, Cell Reuse Identifier에 해당하는 Cell을 주십시오
-> 이 항목은 여러 번 사용됩니다. 필요할 때마다 복사해서 S, R 값을 바꿔 사용하세요

Table View Data Source가 Table View에게 : Cell Reuse Identifier에 해당하는 Cell 중 대기중인 Cell이 없어 새로 만들어 드릴게요.
//처음에는 아직 대기중인 셀이 없음

User : 위로 스크롤 해야지 스크롤

Table View Data Source이 Cell Reuse Queue에게 : (S, R) IndexPath에 보여줄 셀인데, Cell Reuse Identifier에 해당하는 Cell을 주십시오

User : 위로 스크롤 해야지 스크롤

Table View Data Source이 Cell Reuse Queue에게 : (S, R) IndexPath에 보여줄 셀인데, Cell Reuse Identifier에 해당하는 Cell을 주십시오

(..스크롤할 때마다 반복...)

User : 아래로 스크롤 해야지 스크롤


Table View Data Source가 Table View에게 : Cell Reuse Identifier에 해당하는 Cell 중에 대기중인 Cell이 있어요. 드릴게요.
만약에 Cell Reuse Queue이 있으면 Cell Reuse Queue을  Table View에게 준다.
> Reuse Queue -> Data Source -> TableView 주는거 아닐까? 
아니면 Reuse Queue -> TableView  바로 주는걸까?
데이터 소스는 요청마다 새로운 셀을 만드는 대신 재사용 큐 (Reuse Queue)에 재사용을 위해 대기하고있는 셀이 있는지 확인 후 있으면 그 셀에 새로운 데이터를 설정하고, 없으면 새로운 셀을 생성합니다.

User : S, R 셀 터치!!
-> 이 항목은 여러 번 사용됩니다. 필요할 때마다 복사해서 S 값을 바꿔 사용하세요

Table View이 Table View Delegate에게 : 사용자가 S, R의 row를 선택했다구!
-> 이 항목은 여러 번 사용됩니다. 필요할 때마다 복사해서 S 값을 바꿔 사용하세요

Table View Delegate : 얼럿을 띄워야지