【问题标题】:How to connect a prototype cell in a storyboard?如何连接故事板中的原型单元?
【发布时间】:2014-11-21 16:41:09
【问题描述】:

我在情节提要中创建了一个表格视图,以及一个自定义原型单元格。我已经在情节提要中设置了单元格标识符,并试图将其出列并得到:

无法将标识符为 TTEntry 的单元格出列 - 必须为标识符注册一个 nib 或一个类,或者连接情节提要中的原型单元格

我在情节提要的 TableCell 属性中看不到任何其他东西可以与之链接。我只是不知道消息是什么。

有人能指出正确的方向吗?

谢谢!

螺丝胶带。

【问题讨论】:

  • 我们能看到出列单元格的代码吗?

标签: ios objective-c


【解决方案1】:

来自故事板:

  1. 在属性检查器中设置重用标识符
  2. 如 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 等的情况下编写代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-13
        • 2020-04-18
        相关资源
        最近更新 更多