개발/Swift
재사용 가능한 tableview cell nib만들기
덤벨로퍼
2021. 9. 2. 18:53
tableview cell 을 하나 만들어두고 여려곳에서 쓰기위해
사용하는 tableview 에서 디자인을 구현하지않고
cell 만 따로 빼내서 디자인을 구현 하려한다.
디자인은 이렇게 대충 구현해두고
Class명을 지정해준다
이렇게 파일은 만들어둔 상태이다.
또 Identifier를 지정해준다. Class명과 꼭 같을 필요는없다.
이제 여기 HelpViewController 에서 아까 만들어둔
BoardTableViewCell (xib파일)을 사용할것이다.
그러려면 우선 tableview에 nib을 등록을 해줘야한다.
@IBOutlet weak var faqTableView: UITableView!
private func registerXib() {
let nibName = UINib(nibName: "BoardTableViewCell", bundle: nil)
faqTableView.register(nibName, forCellReuseIdentifier: "BoardTableViewCell")
}
이제 등록은 다 되었고 cellForRowAt 함수에서 BoardTableViewCell을 불러다가 return 해주면 된다.
UITableViewDelegate,UITableViewDataSource 을 상속 받아주고
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "BoardTableViewCell", for:indexPath) as? BoardTableViewCell else {
print("BoardTableViewCell nil")
return UITableViewCell() }
return cell
}
이렇게 해주면 아까 대충 만든 cell이 viewcontroller 의 tableview에 들어갔음을 확인할수 있다.
같은방식으로 다른 tableview에서 사용이 가능할것이다.