我正在通过教程(“iOS Apprecente”)学习Objective-C 现在我需要制作一份清单
我在viewController.h中添加了
@interface ViewController : UITableViewController
正常有
@interface ViewController : UIViewController
接下来是去Storyboard的地方TableViewController
,给它起名字:ChecklistsViewController(Identity inspector> Custom class> class。
我在第一个表视图单元格中添加了一个标签。但是当我运行它时什么也没有。
怎么办?
答案 0 :(得分:2)
这里有两个不同的问题:
使用您自己的UIViewController
选择IBOutlet
作为表格视图或UITableViewController
只是在Interface Builder(IB)中添加了您添加了表视图的标准视图控制器,或者您是否使用了表视图控制器。如果除了表视图之外还有视图上的其他控件,则使用前者。如果表视图是该视图控制器视图中唯一呈现的内容,则通常使用后者。最重要的是,您选择的UIViewController
或UITableViewController
取决于您在IB中添加场景的方式。根据您的描述,听起来您已经采用了UITableViewController
方法,这很好。
就你为什么没有看到任何东西而言,有很多可能的原因:
您是否为表格视图单元格原型指定了单元格标识符?它是否与您在cellForRowAtIndexPath
方法中使用的标识符相同?
如果您手动将表格视图添加到标准视图控制器的视图中,您是否将视图控制器指定为表格视图的delegate
和dataSource
?另外,你是否为表格视图本身创建了一个IBOutlet
,在IB中挂起它? (如果在Interface Builder中使用了表视图控制器,则不必执行这些步骤。)
您可能需要仔细检查是否在IB中正确设置了表视图控制器的基类。
您是否实施了所有UITableViewDataSource
方法,尤其是numberOfRowsInSection
?如果你不这样做,它会得出结论,没有行,也不会生成任何单元格。
您说您在IB中将视图控制器的基类指定为ChecklistsViewController
。但在您的代码段中,您似乎正在使用名为ViewController
的自定义类。确保您为两者使用相同的UITableViewController
子类。