iOS模拟器不显示原型单元格

时间:2014-07-31 15:21:22

标签: ios objective-c uitableview

我正在通过教程(“iOS Apprecente”)学习Objective-C 现在我需要制作一份清单

我在viewController.h中添加了

@interface ViewController : UITableViewController 

正常有

@interface ViewController : UIViewController

接下来是去Storyboard的地方TableViewController,给它起名字:ChecklistsViewController(Identity inspector> Custom class> class。 我在第一个表视图单元格中添加了一个标签。但是当我运行它时什么也没有。

怎么办?

1 个答案:

答案 0 :(得分:2)

这里有两个不同的问题:

  1. 使用您自己的UIViewController选择IBOutlet作为表格视图或UITableViewController只是在Interface Builder(IB)中添加了您添加了表视图的标准视图控制器,或者您是否使用了表视图控制器。如果除了表视图之外还有视图上的其他控件,则使用前者。如果表视图是该视图控制器视图中唯一呈现的内容,则通常使用后者。最重要的是,您选择的UIViewControllerUITableViewController取决于您在IB中添加场景的方式。根据您的描述,听起来您已经采用了UITableViewController方法,这很好。

  2. 就你为什么没有看到任何东西而言,有很多可能的原因:

    • 您是否为表格视图单元格原型指定了单元格标识符?它是否与您在cellForRowAtIndexPath方法中使用的标识符相同?

    • 如果您手动将表格视图添加到标准视图控制器的视图中,您是否将视图控制器指定为表格视图的delegatedataSource?另外,你是否为表格视图本身创建了一个IBOutlet,在IB中挂起它? (如果在Interface Builder中使用了表视图控制器,则不必执行这些步骤。)

    • 您可能需要仔细检查是否在IB中正确设置了表视图控制器的基类。

    • 您是否实施了所有UITableViewDataSource方法,尤其是numberOfRowsInSection?如果你不这样做,它会得出结论,没有行,也不会生成任何单元格。

    • 您说您在IB中将视图控制器的基类指定为ChecklistsViewController。但在您的代码段中,您似乎正在使用名为ViewController的自定义类。确保您为两者使用相同的UITableViewController子类。