쓸 때마다 헷갈리는 UITableView와 커스텀 셀 적용 순서대로 정리
class ViewController: UIViewController {
@IBOutlet weak var myTableView: UITableView! // 생성한 Table View를 연결
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
Cell 안에 표시할 UI - 이미지, 라벨, 등 추가
UITableViewCell 파일 생성(이름은 자유)
import UIKit
class MyTableViewCell: UITableViewCell {
@IBOutlet weak var myLabel: 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
}
}
import UIKit
// UITableViewDelegate, UITableViewDataSource 채택
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var myTableView: UITableView!
// Cell의 Label에 표시할 내용
let data = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
override func viewDidLoad() {
super.viewDidLoad()
// 대리자 위임
myTableView.delegate = self
myTableView.dataSource = self
}
/// 필수 함수 구현
// 한 섹션(구분)에 몇 개의 셀을 표시할지
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10 // 한 개의 섹션당 10개의 셀을 표시하겠다
}
// 특정 row에 표시할 cell 리턴
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// 내가 정의한 Cell 만들기
let cell: MyTableViewCell = tableView.dequeueReusableCell(withIdentifier: "MyTableViewCell", for: indexPath) as! MyTableViewCell
// Cell Label의 내용 지정
cell.myLabel.text = data[indexPath.row]
// 생성한 Cell 리턴
return cell
}
}