无法使用标识符memoCell错误使单元出列

时间:2017-12-15 03:29:32

标签: ios xcode tableview

enter image description here

enter image description here

enter image description here

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  let row=animals[indexPath.row]
  let cellIdentifier = "memoCell"
  let cell=tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MemoCellTableViewCell
  print(cell)
  print("mmmmmmm")
  print(cell.subject)
  cell.name?.text="aaa"
  return cell
}

我无法将值设置为标签,因为我有一个错误说:

  

'无法使用标识符Cell对单元格进行出列 - 必须为标识符注册一个nib或类,或者在故事板中连接原型单元格

所以,我添加了tableView.register(MemoCellTableViewCell.self, forCellReuseIdentifier: "memoCell")。然后,问题是我无法将值设置为cell.name,因为cell.name为零。

2 个答案:

答案 0 :(得分:0)

首先检查您的cell.name插座是否完美连接,然后您可以尝试以下面的方式更新您的方法,

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let row=animals[indexPath.row]
        let cellIdentifier = "memoCell"
        var cell=tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MemoCellTableViewCell

        if cell == nil {

            cell = MemoCellTableViewCell(style: .default, reuseIdentifier: cellIdentifier)
        }

        print(cell)
        print("mmmmmmm")
        print(cell.subject)
        cell.name?.text="aaa"
        return cell
    }

答案 1 :(得分:0)

首先删除此方法

tableView.register(MemoCellTableViewCell.self, forCellReuseIdentifier: "memoCell") 

因为您的单元格位于故事板中,因此您不需要此方法,如果您使用tableviewCell XIB,则可以使用此方法。

在您的MemoCellTableViewCell.swift文件中,使用情节提要创建或连接所有要求插座,​​然后重试。它应该解决问题,否则请告诉我。