【问题标题】:Storyboard "Main", but didn't get a UITableView when using UITableViewController故事板“主要”,但在使用 UITableViewController 时没有得到 UITableView
【发布时间】:2015-12-28 18:47:08
【问题描述】:

我一直在经历这个tutorial,“选项2:原型细胞” 我实施了所有步骤,但是,以下代码给了我一个错误:

@interface MTViewController : UITableViewController

@end

错误信息是:

从情节提要“Main”中实例化了标识符为“UIViewController-BYZ-38-t0r”的视图控制器,但没有获得 UITableView。'

这是我尝试过的 - 我将 UITableViewController 更改为 UIViewController 并且错误消失了。但是,tableview 仍然是空白的。你能告诉我这是为什么吗?

【问题讨论】:

  • 空白是什么意思?当您将视图控制器添加到情节提要中时,它就是香草。您必须向其中添加元素。

标签: ios swift xcode uitableview xcode-storyboard


【解决方案1】:

在故事板中,您需要将 UITableViewController 的根视图设置为 UITableView

【讨论】:

    【解决方案2】:

    尝试将您的超类更改为 UIViewController 或将情节提要中的控制器更改为 TableView 控制器

    @interface MTViewController : UIViewController, UITableViewDataSource, UITableViewDelegate
    
    @end
    

    【讨论】:

      【解决方案3】:

      将表视图控制器的新实例拖到故事板中,将您在之前的控制器中创建的单元格复制到新的控制器中。

      这个错误的发生可能是因为你使用了由 XCode 创建的默认 UIViewController,它不是 UITableViewController。

      【讨论】:

      • 非常微妙的问题和明显的解决方案(假设您理解这个问题)。现在,为什么我的单元格属性返回 NIL?
      • 这很奇怪,但这是真的。遇到了同样的问题,按照你说的解决了
      【解决方案4】:

      我遇到了和你完全相同的问题。 您可能在情节提要中使用 UIViewController 而不是 UITableViewController。

      注意: 仅子类化故事板中的自定义 UITableViewController 是不够的。你会看到不同之处: difference between UIViewController and UITableViewController

      所以你必须从库中拖出一个 UITableViewController,然后将所有东西(单元格)移动到它。如果损坏,请不要忘记检查绑定和自动布局。

      当然,您不能将 tableview 移动到 UIViewController 的根目录,它只是不能那样工作。 =)

      【讨论】:

        【解决方案5】:

        实际上你使用的是 UIViewController 而不是 UITableViewController。删除您的默认视图控制器并在情节提要中拖动新的 TableViewController。因为您的 ViewController 没有 TableView,但它正在尝试加载单元格。

        简单的解决方案是:删除ViewController并添加TableViewController

        然后你必须将其类名更改为 MTViewControllerYour Class Name

        【讨论】:

          【解决方案6】:

          我也遇到过这个问题。我最初创建了简单的UIViewController,然后我决定宁愿使用UITableViewController。问题是我忘记在新控制器上设置情节提要 ID,并在旧控制器上将其更改为其他内容,否则您将从情节提要中实例化旧控制器并且会出现此问题。

          【讨论】:

            【解决方案7】:

            在情节提要中,只需将 ViewController 的类更改为您的新类名,这里是 MTViewController - image of steps

            【讨论】:

              【解决方案8】:

              确保 dataSource 设置为 self。

              【讨论】:

              • 你能不能说得更准确一些,或者分享一些有助于理解你答案的代码?
              • 对此类信息使用评论。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-01-09
              • 2023-03-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多