iOS Dev/UIKit
[iOS/Swift] UITableViewCell 코드로 구현
지위프트
2024. 7. 18. 10:22
반응형
iOS 개발자라면 누구나 알고 있어야 하는 코드 방식으로 UITableViewCell을 구현하는 코드
스토리보드 방식이 아닌 코드로 구현하기 위한 Class를 기록합니다.
import UIKit
class TestTableViewCell: UITableViewCell {
// 초기화 메서드. 스타일과 재사용 식별자를 매개변수로 받아 초기화를 수행합니다.
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.commonInit() // 공통 초기화 작업을 수행하는 메서드 호출
}
// 초기화 메서드 (NSCoder를 사용한 초기화). 스토리보드나 xib 파일을 통해 생성된 경우 사용됩니다.
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// Nib 파일로부터 객체가 초기화된 후 호출되는 메서드입니다.
override func awakeFromNib() {
super.awakeFromNib()
// 추가적인 초기화 작업을 여기에 작성할 수 있습니다.
}
// 셀의 선택 상태가 변경될 때 호출되는 메서드입니다.
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// 선택 상태 변경 시 추가 작업을 여기에 작성할 수 있습니다.
}
// 공통 초기화 작업을 수행하는 메서드입니다.
private func commonInit() {
// 공통 초기화 코드를 여기에 작성합니다.
}
}
위는 TableViewCell을 구성하는 코드입니다. 초기 선언들만 넣어두었습니다. 원하는 구현에 따라서 채워가며 사용하면 됩니다.
let tableView: UITableView = UITableView()
tableView.register(TestTableViewCell.self,
forCellReuseIdentifier: "TestTableViewCell")
TableView에서 register하는 부분입니다.
let cell = self.tableView.dequeueReusableCell(withIdentifier: "TestTableViewCell",
for: indexPath) as! TestTableViewCell
UITableViewDataSource - cellForRowAt에서 사용하는 코드 예시입니다.
let indexPath = IndexPath(row: number, section: 0)
if let cell = self.tableView.cellForRow(at: indexPath) as? TestTableViewCell {
// 동작 수행
}
원하는 Cell을 호출하여 동작을 수행하는 코드입니다.
코드만 알고있으면 스토리보드와 크게 다른 부분이 없기 때문에 설명은 많이 없습니다.
반응형