1. TableViewController를 이용한 구현

1) TableViewCell 연동

 - UITableViewCell를 상속받는 클래스 생성(TableViewCell)

 - TableViewController의 Cell에 identifier속성을 새로운 값으로 입력("cell")

 - TableViewController의 Cell에 CustomClass 속성을 만들어둔 TableViewCell로 지정

 - Cell에 추가한 컨트롤을 연결(Outlet 변수)

    import UIKit

 

    class TableViewCell: UITableViewCell {

 

    @IBOutlet var label2: UILabel!

    @IBOutlet var label1: UILabel!

    

    override func awakeFromNib() {

        super.awakeFromNib()

        // Initialization code

    }

 

    override func setSelected(_ selected: Bool, animated: Bool) {

        super.setSelected(selected, animated: animated)

 

        // Configure the view for the selected state

    }

}

 

2) TableViewController에서 데이터 적용

- TableViewController에 Override 되어있는 관련함수 수정

    //section의 갯수 

    override func numberOfSections(in tableView: UITableView) -> Int {

        return 1

    }

    //cell 갯수

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return 100

    }

    //cell 내용 수정 

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell

        let row = indexPath.row

        

        cell.label1.text = String(row)

 

        return cell

    }

 

2. 일반 ViewController에 TableView 추가해서 구현하기

1) TableView 추가

 - 일반 Viewcontroller에 TableView를 추가

 

2) TableViewCell 연동

 - 1-1) 방법과 동일

 

3) TableViewController 연동

 - 테이블뷰를 control을 누르고 드래그하여 ViewController에 연동(dataSource, delegate 둘다 추가), 또는 

    (소스코드로 구현시)

    self.tableView.dataSource = self

    self.tableView.delegate = self

 

 - ViewContoller가 UITableViewDataSource, UITableViewDelegate 를 상속받게 함

 - 1-2) 방법과 같은 함수들을 생성

 

    class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

 

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

    }

 

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    

    func numberOfSections(in tableView: UITableView) -> Int {

        return 1

    }

    

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return 3

    }

    

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell

        let row = indexPath.row

        

        cell.label1.text = String(row)

        

        return cell

    }

}

 

 

* 주의사항
- 데이터가 셋팅되는 부분에서 다음에 self.tableView.reloadData() 를 반드시 호출해야 데이터가 보여짐!!!!!!!

+ Recent posts