반응형

테이블 뷰는 주로 리스트를 나타날 때 사용된다. (메모장의 메모리스트, 연락처, 메세지 등)

 

테이블 뷰를 구현하는 두가지 방법! 

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
    }

.

.

.

 

 

 

 

 

 

반응형

+ Recent posts