首页 > 自定义了一个TableViewCell 但是会报错,关于Identifier

自定义了一个TableViewCell 但是会报错,关于Identifier

创建了一个UItableViewCell的类,也创建了xib文件。在UIViewController里面写

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
//        self.tableView?.registerClass(TheFirstTableViewCell.self, forCellReuseIdentifier: "mycellID")

        let cell = tableView.dequeueReusableCellWithIdentifier("mycellID", forIndexPath: indexPath) as! TheFirstTableViewCell
//        cell = NSBundle.mainBundle().loadNibNamed("mycellID", owner: self, options: nil).last as! TheFirstTableViewCell
        cell.imageView1.image = UIImage(named: "\(indexPath.row + 7)")
        cell.label1.text = dataArray![indexPath.row] as? String 
        return cell
    }

但是会报错:reason: 'unable to dequeue a cell with identifier mycellID - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

请问大神,这是什么问题。不胜感激!!


registerCell要写到viewDidLoad里面


使用 registerNib(_ nib: UINib?, forCellReuseIdentifier identifier: String)


用xib的话 应该是这里少了


之前使用OC创建cell得时候,遇到过这个运行时错误,后来把字符串标识"myCellID"单独写个强引用的变量,再运行就好啦!猜测可能是一个是读取指针地址,一个是随机使用堆地址

【热门文章】
【热门文章】