Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法将标识符为“的单元格出列”;“细胞”一词必须为标识符注册nib或类,或连接故事板中的原型单元_Ios_Swift_Uitableview - Fatal编程技术网

Ios 无法将标识符为“的单元格出列”;“细胞”一词必须为标识符注册nib或类,或连接故事板中的原型单元

Ios 无法将标识符为“的单元格出列”;“细胞”一词必须为标识符注册nib或类,或连接故事板中的原型单元,ios,swift,uitableview,Ios,Swift,Uitableview,我正在尝试创建一个简单的应用程序,但是: “NSInternalInconsistencyException”,原因:“无法将具有标识符项的单元格出列-必须为标识符注册nib或类,或连接情节提要中的原型单元格” 代码: 屏幕: 阶级 标识符 我不知道该怎么办 您可能需要注册手机。它看起来像这样 如果在代码中使用单元格类: tableView.register(MyTableViewCell.self, forCellReuseIdentifier: "Cell") 如果您使用带笔尖的单元格

我正在尝试创建一个简单的应用程序,但是:

“NSInternalInconsistencyException”,原因:“无法将具有标识符项的单元格出列-必须为标识符注册nib或类,或连接情节提要中的原型单元格”

代码:

屏幕:

阶级

标识符


我不知道该怎么办

您可能需要注册手机。它看起来像这样

如果在代码中使用单元格类:

tableView.register(MyTableViewCell.self, forCellReuseIdentifier: "Cell")
如果您使用带笔尖的单元格:

let nib = UINib(nibName: "MyTableViewCellNibFile", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: "Cell")
如果您使用的是故事板,则需要确保原型单元设置正确。这个答案实际上定义得很好


您可能需要注册手机。它看起来像这样

如果在代码中使用单元格类:

tableView.register(MyTableViewCell.self, forCellReuseIdentifier: "Cell")
如果您使用带笔尖的单元格:

let nib = UINib(nibName: "MyTableViewCellNibFile", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: "Cell")
如果您使用的是故事板,则需要确保原型单元设置正确。这个答案实际上定义得很好


我希望您正在尝试从XIB加载原型单元格。正如方法名称所示,如果单元格已经创建并且在内存中可用,则方法出列,只需将其出列即可。当dequeue找不到适合您的单元格时,您必须创建单元格,请按照以下方法操作,这是我加载原型单元格时通常要做的,您不需要在此处执行registerclass/RegisterInB

var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as? CostumeCellView

  if cell == nil {
        let topLevelObjects = NSBundle.mainBundle().loadNibNamed("MyCellNibFile", owner: self, options: nil)
        for entry in topLevelObjects {
            if entry.reuseIdentifier == "Cell" {
                cell = entry as? CostumeCellView
            }
        }
    } 
cell.textLabel?.text = titles[indexPath.row]

return cell

我希望您正在尝试从XIB加载原型单元。正如方法名称所示,如果单元已经创建并且在内存中可用,则方法出列,只需将单元出列即可。当dequeue找不到适合您的单元格时,您必须创建单元格,请按照以下方法操作,这是我加载原型单元格时通常要做的,您不需要在此处执行registerclass/RegisterInB

var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as? CostumeCellView

  if cell == nil {
        let topLevelObjects = NSBundle.mainBundle().loadNibNamed("MyCellNibFile", owner: self, options: nil)
        for entry in topLevelObjects {
            if entry.reuseIdentifier == "Cell" {
                cell = entry as? CostumeCellView
            }
        }
    } 
cell.textLabel?.text = titles[indexPath.row]

return cell

您的单元格已连接,但tableview设置在哪里?它是在代码还是故事板中。如果它在代码中,您需要
tableView.registerCell(:)
,或者如果您的单元格是nib,您也需要注册该nib。我的单元格的可能副本不是nib。当我添加tableView.register(customCellView.self,forCellReuseIdentifier:“Cell”)时,我的输出是零。听起来你在使用故事板,然后是原型单元格。您的tableView屏幕截图会有所帮助。但是我会更新我的答案,告诉你你的手机已经连接,但是你的tableview设置在哪里?它是在代码还是故事板中。如果它在代码中,您需要
tableView.registerCell(:)
,或者如果您的单元格是nib,您也需要注册该nib。我的单元格的可能副本不是nib。当我添加tableView.register(customCellView.self,forCellReuseIdentifier:“Cell”)时,我的输出是零。听起来你在使用故事板,然后是原型单元格。您的tableView屏幕截图会有所帮助。但我会更新我的答案,提供一些相关信息