求助:如何解决“Prototype table cells must have reuse identifiers”报错?
解决“Prototype table cells must have reuse identifiers”报错
正确设置复用标识符的步骤(Xcode通用操作,与Swift版本无关)
- 打开你的Storyboard,找到目标Table View,点击选中其中的原型单元格(Prototype Cell)——要点单元格内部,别选整个Table View或者控制器。
- 打开右侧面板的属性检查器(Attributes Inspector)(带滑块图标的标签,从左数第4个)。
- 在属性检查器里找到Identifier输入框,填入你要的复用标识符(比如
CustomCell),注意这个名字要和你代码里用的完全一致(Swift区分大小写)。
代码里的正确用法
在UITableViewDataSource的cellForRowAt方法里,要用你设置的标识符复用单元格:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // 这里的标识符要和Storyboard里设置的完全匹配 let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) // 这里写单元格内容配置逻辑 cell.textLabel?.text = "第\(indexPath.row + 1)行" return cell }
如果你的项目混合了代码注册单元格的场景(比如部分单元格用代码创建),还要在viewDidLoad里提前注册:
override func viewDidLoad() { super.viewDidLoad() tableView.register(UITableViewCell.self, forCellReuseIdentifier: "CustomCell") }
常见踩坑点
- 别选错对象:一定要确保选中的是原型单元格,不是Table View本身,不然属性检查器里找不到Identifier选项。
- 拼写一致性:Storyboard里的标识符和代码里的要完全一样,大小写、空格都不能错。
- 多单元格场景:如果Table View有多个不同类型的原型单元格,每个都得单独设置对应的复用标识符。
内容的提问来源于stack exchange,提问作者Yaqrut
相关产品推荐
相关产品推荐

