如何连接故事板中的原型单元?
Posted
技术标签:
【中文标题】如何连接故事板中的原型单元?【英文标题】:How to connect a prototype cell in a storyboard? 【发布时间】:2014-11-21 16:41:09 【问题描述】:我在情节提要中创建了一个表格视图,以及一个自定义原型单元格。我已经在情节提要中设置了单元格标识符,并试图将其出列并得到:
无法将标识符为 TTEntry 的单元格出列 - 必须为标识符注册一个 nib 或一个类,或者连接情节提要中的原型单元格
我在情节提要的 TableCell 属性中看不到任何其他东西可以与之链接。我只是不知道消息是什么。
有人能指出正确的方向吗?
谢谢!
螺丝胶带。
【问题讨论】:
我们能看到出列单元格的代码吗? 【参考方案1】:来自故事板:
-
在属性检查器中设置重用标识符
如 Jignesh Agola 所述,在情节提要中添加 CustomCell 类
来自代码(如发布的柠檬酸橙柚):
[self.tableView registerClass:<Your UITableViewCell subclass> forCellReuseIdentifier:<Your identifier>]
【讨论】:
您在将单元格出列时错过了一步,将其转换为您的自定义类保护 let cell = tableView.dequeueReusableCell(withIdentifier: kCellReuseId, for: indexPath) as? YouCustomCellClass【参考方案2】:在情节提要中添加 CustomCell 类
【讨论】:
【参考方案3】:如果您使用的是搜索显示控制器
[self.searchDisplayController.searchResultsTableView registerClass:[YourClass class] forCellReuseIdentifier:@"yourCellIdentifier"];
【讨论】:
【参考方案4】:您应该能够 1) 添加 Jignesh 提到的 CustomCell 类,或 2) 在 UITableViewController 的 viewDidLoad 中以编程方式注册 nib:
let nib = UINib(nibName: "yourCellIdentifier", bundle: nil)
self.tableView.register(nib, forCellReuseIdentifier:"yourCellIdentifier")
【讨论】:
谢谢!我已经尝试过该代码 - 已将代码转换为目标 C,但我仍然收到相同的错误消息。 ` UINib *nib = [UINib nibWithNibName:@"TTEntry" bundle:nil]; [self.tableView registerNib:nib forCellReuseIdentifier:@"TTEntry"]; ` 您是否将该代码放入 viewDidLoad 中(或在调用具有该标识符的单元格出列之前的其他位置)?【参考方案5】:你可以添加
tableview.register(YourClass.self, forCellReuseIdentifier: "YourIdentifier")
如果您在没有故事板、xib 等的情况下编写代码。
【讨论】:
以上是关于如何连接故事板中的原型单元?的主要内容,如果未能解决你的问题,请参考以下文章
故事板中 tableviewController 中的原型 tableview 单元格
故事板中tableviewController中的原型tableview单元格
如何更新动态生成的故事板中的自定义特定 UITableview 单元格?