Nib必须包含一个顶级对象,该对象必须是swift中的UITableViewCell实例

时间:2017-01-17 03:31:32

标签: swift3 nib custom-cell

我正在使用自定义CustomTableViewCell。当我尝试运行我的代码时,我得到了这个异常堆栈,我无法理解问题的根源:

terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'invalid nib registered for identifier (ID) - nib must contain exactly one top level object which must be a UITableViewCell instance'

在CustomTableViewCell中,在一个xib文件中有两个单元格,我给出了不同的标识符

某段代码

 override func viewDidLoad() 
{
    super.viewDidLoad()

let nib = UINib(nibName:"CustomTableViewCell", bundle:nil)
tableview.register(nib, forCellReuseIdentifier:"ID")
tableview.register(nib, forCellReuseIdentifier:"ID2")

}

之后

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

    if indexPath.row == 0
    {

     let cell  = tableView.dequeueReusableCell(withIdentifier:"ID") as! CustomTableViewCell

                cell.textLabel.text = "TEXT"
                cell.detailTextLabel.text = "DETAIL TEXT"

         return cell
     }
else
    {
    let cell  = tableView.dequeueReusableCell(withIdentifier:"ID2") as! CustomTableViewCell

                cell.imageView.image = UIImage(named:"image.png")

    return cell

    }

  }

0 个答案:

没有答案