반응형
테이블 뷰는 주로 리스트를 나타날 때 사용된다. (메모장의 메모리스트, 연락처, 메세지 등)
테이블 뷰를 구현하는 두가지 방법!
1. 스토리보드에 테이블뷰 컨트롤러를 추가하는 방법
2. 뷰 컨트롤러에 테이블뷰를 추가하는 방법
- IOS 개발시 MVC패턴을 권장된다. View를 터치했을 때 이벤트의 결과를 Controller에 직접 전달하면 안됩니다.
이럴 때 사용되는 것이 Delegate(뜻 : 위임) 또는 DataSource입니다.
즉, 이벤트를 Controller가 처리하게끔 위임한다는 것 입니다.
테이블 뷰 구현
테이블 뷰의 구현은 보통 다섯단계로 구분합니다.
1. 테이블 뷰 배치
2. 프로토타입 셀 디자인, 셀 아이덴티파이러 지정
3. 데이터 소스와 델리게이트 연결
4. 데이터 소스 구현
5. 델리게이트 구현
뜻
(필수)
DateSource : 데이터를 받아 뷰를 "보여주는" 역할(무엇을 그리고 어떻게)
(선택 만약 이벤트가 없다면 구현 X)
Delegate : 어떤 행동에 대한 "동작" (이벤트가 일어났을 때, 그 이벤트 처리에 대한 동작)
//DataSource 예제
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//데이터베이스에 있는 메모의 수(무엇을)를 리턴한다
return DataManager.shared.memoList.count
}
//어떤 디자인을 어떤 데이터를 표시하는지 (* 개별셀(메모)을 표시 할 때마다 반복적으로 호출됨)
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
// Configure the cell...
let target = DataManager.shared.memoList[indexPath.row]
cell.textLabel?.text = target.content
cell.detailTextLabel?.text = formatDate.string(for: target.insertDate)
return cell
}
.
.
.
반응형
'개발언어 > Swift' 카테고리의 다른 글
스위프트 view 종류 및 설명 (0) | 2022.01.13 |
---|---|
스위프트 날짜 구하기 (0) | 2022.01.13 |
스위프트 네비게이션 컨트롤러(navigation controller) (0) | 2022.01.11 |
스위프트 메모장 코드 뜯기 (appdelegate, plist, scenedelegate 역할) (0) | 2022.01.07 |
스위프트 메모장 만들기 7 (DB 연동) (0) | 2022.01.02 |