-
재사용 가능한 tableview cell nib만들기개발/Swift 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에서 사용이 가능할것이다.
'개발 > Swift' 카테고리의 다른 글
[Swift 기본]ARC 와 Weak vs Strong (3) 2021.10.04 Localize + UserDefaults 사용하여 언어 설정 기능 구현 하기 (0) 2021.09.16 expandable + dynamic height tableview cell 구현하기 (0) 2021.09.02 Realm swift struct 타입, List타입 수정 하는법 (0) 2021.08.03 RxFlow 적용기 (2) 2021.05.25