UITableViewController不使用xib文件加载自定义单元格

UITableViewController不使用xib文件加载自定义单元格

问题描述:

我有一个UITableViewController并希望使用自定义单元格填充它。我创建的单元格有它自己的类和xib文件,远离主要的故事板。UITableViewController不使用xib文件加载自定义单元格

在xib文件中,我有'VisitCell'作为标识符。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    let cell = tableView.dequeueReusableCell(withIdentifier: "VisitCell", for: indexPath) as! VisitCell 

    let visit : BookingVisitItem = bookingDayItem.getVisitItems()[indexPath.row] 

    cell.locationLabel?.text = visit.getVenueName() 
    cell.timeLabel?.text = visit.getVisitTime() 
    cell.typeLabel?.text = visit.getVisitType() 

    return cell 
} 

如果我像这样运行代码,它似乎崩溃了。也许它找不到自定义单元格?

但是,如果我添加以下viewDidLoad中()

tableView.register(VisitCell.self, forCellReuseIdentifier: "VisitCell") 

在这个阶段,它不会崩溃,但表视图显示为空。

任何指针?谢谢!

+0

你有没有执行其他代表一样'覆盖FUNC numberOfSectionsInTableView(的tableView:UITableView的) - >诠释{// 返回1 } 覆盖FUNC的tableView( tableView:UITableView,numberOfRowsInSection部分:Int) - > Int {0}返回3 }如果你还保存了错误日志以及如何实现表视图委托,那会更好。 – Niroj

+0

@ sark9012请同时提及crash.I可能是错误的。 –

注册您的笔尖小区viewDidLoad() - :

override func viewDidLoad() { 
     super.viewDidLoad() 
     yourTableView.registerNib(UINib(nibName: "yourcell", bundle: nil), forCellReuseIdentifier: "CustomCellOne") 
    } 
+1

这是整理它。从我读过的东西中,没有任何东西是用故事板上的定制xib,所以我认为这跟那个有关,因此在问题中提到了它。非常感谢! – sark9012