Ios Tableview未加载/触发

Ios Tableview未加载/触发,ios,xcode,uitableview,swift,Ios,Xcode,Uitableview,Swift,我有以下单视图应用程序。tablview委托/数据源通过IB连接到根视图控制器。当应用程序加载时,tablview为空。我已经在ViewController.swift文件的所有方法中设置了一个断点,但未命中任何内容 我在ViewController.swift UITableViewDataSource中添加了以下内容: UITableViewDelegate func tableView(tableView: UITableView, cellForRowAtIndexPath index

我有以下单视图应用程序。tablview委托/数据源通过IB连接到根视图控制器。当应用程序加载时,tablview为空。我已经在ViewController.swift文件的所有方法中设置了一个断点,但未命中任何内容

我在ViewController.swift UITableViewDataSource中添加了以下内容:

UITableViewDelegate

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "test")
    cell.textLabel?.text = "just a cell"
    return cell;
}


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 3
}
由于ViewController.swift中没有遇到断点,所以我认为某些东西仍然没有连接。你知道这可能是什么或者我做错了什么吗

该项目只有库存单视图应用程序文件:

-编辑-

单元格标识符已更新,但表中仍然没有数据

下面是从TableVew到根视图控制器的连接

检查脚本中的标识符-它应该说测试我在哪里有switchCell。通过单击原型单元,您可以在右侧的栏中找到它:


正如您在单元检查器中看到的,原型单元的样式是自定义的。这样的单元格没有文本标签。将样式切换为默认,您将得到一个带有textLabel的UITableViewCell

如果没有textLabel,这显然是一个错误,那么您应该替换textLabel吗?使用文本标签!:


看起来您有两个问题:

1.IB中未正确分配ViewController类 选择根视图控制器后,右侧窗格中会显示什么?它应该是ViewController您的ViewController类的名称,如下所示:

请注意,IB不允许您选择不是UITableViewController子类的类。如果您有一个空的故事板并拖出一个导航控制器,那么它创建的根视图控制器是一个表视图控制器,并且它只允许您将其与UITableViewController子类关联。如果确实不想使用UITableViewController,则必须删除IB为您创建的根视图控制器,拖出一个常规视图控制器,添加到表视图中,然后根据需要手动连接所有内容

2.插座接线不正确 你连接插座的方式看起来不对劲。UITableView应具有引用RootViewController的outlets数据源和委托。像这样:

而RootViewContoller应该具有引用数据源的outlets和引用表视图的委托



从崩溃中,您将获得[UINavigationItem tableView:numberOfRowsInSection:]:发送到实例的无法识别的选择器很明显,您已连接数据源并将其委托给导航栏,不是黄色圆圈序列图像板层次结构视图的视图控制器。

序列图像板中UITableViewCell原型的重用标识符是否设置为“测试”?是否与还原ID相同?是的。如果否-在哪里可以找到该设置?tableView为空,没有单元格,或者单元格中没有任何内容?单元格中没有任何内容。我可以看到分隔每个单元格的水平线。当你说,未命中断点时,这是否包括viewDidLoad?我已经添加了这个,但表中仍然没有数据。OP已更新。只是为了确保-在viewDidLoad中放置一个断点,以查看ViewController是否已加载。它不会加载。ViewController.swift中的断点未被命中。在这种情况下,您需要将ViewController类连接到情节提要中的视图。您能否更具体地说明这是什么意思或提供步骤?tableview已连接到RootViewController。您的意思是自定义样式吗?我看不到默认值。基本不会改变行为。仍然没有数据。替换?砰的一声,也没什么变化。基本的声音是正确的。这种方法不会有更多的地方出错。如果没有显示任何内容,则应检查是否调用了此方法。在ViewController.swift中放置断点或添加PrintLnCellForRowAtIndexPath我之前提到,没有调用ViewController.swift中的任何方法。由于某种原因,tableview仍然与应用程序断开连接。我在OP中添加了一个新的图片,显示了tableview与rootviewcontroller之间的IB连接。我还将UITableViewDataSource添加到ViewController.swift。tableview中仍然没有数据。当您在IB中创建RootViewController时,您是将其创建为UIViewController还是UITableViewController?UIViewController。然后我在IB的顶部添加了tableview,并将委托/数据源添加到ViewController.swift文件中。这几乎肯定是出问题的地方。您的RootViewController必须是UITableViewController的子类,或者必须显式实现协议UITableViewDataSource和UITableViewDelegate。它确实显式实现协议,如OP中所述。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "test")
    cell.textLabel!.text = "just a cell"
    return cell;
}