[Swift] UITableViewController, TableViewCell.xib

술술·2024년 4월 2일

TIL

목록 보기
15/21

UITableViewController

UITableViewController는 전체 화면이 TableView인 경우에 사용이 가능하다.


이 부분을 클릭하고, 인스펙터 영역에서

Class 부분을 UITableViewController 로 변경해줘야 쓸 수 있는 것!

근데 나는 전체 화면이 TableView가 아니기도 하고, 한 화면에 TableView가 2개라서 저 방법은 쓸 수 없었다.

그냥 ViewController 파일에서 TableView를 @IBOutlet으로 연결한 다음 작업해야했다.

2개의 TableView 모두 ViewController.swift 파일에서 작업해야 해서, 같은 함수를 쓰는 경우 충돌이 날 수 있었다.

https://stackoverflow.com/questions/37447124/how-do-i-create-two-table-views-in-one-view-controller-with-two-custom-uitablevi

위 링크의 내용를 참고하여 코드를 작성하면 된다고 한다.
아직 안 해보기는 했지만..ㅎ


TabelViewCell.xib

아래는 TableViewCell.xib 파일의 내용이다.

Lable을 TableView에 표시하고 싶었는데, Label이 나오지 않았다...
Cell이 제대로 안 들어간건가 했는데 그건 아니었고,

// ViewController.swift
override func viewDidLoad() {
    super.viewDidLoad()
    
    setOrderTableView()
  }
  
  func setOrderTableView() {
    orderTableView.delegate = self
    orderTableView.dataSource = self
    // 이 부분 추가!!
    let nib = UINib(nibName: "OrderTableViewCell", bundle: nil)
    // nib register 하기
    orderTableView.register(nib, forCellReuseIdentifier: "OrderCell")
    
    view.addSubview(orderTableView)
  }

이렇게 해주니까 내가 원하는대로 Label이 나왔다.
.xib 파일을 사용하려면 nib를 등록해줘야 한다고 한다.

성공!

profile
Hello

0개의 댓글