#import <UIKit/UIKit.h>
@interface FourthViewController : UIViewController{
//@interface FourthViewController : UITableViewController{
我想更新我的tableview,所以我尝试使用[self.tableView reloadData]
,但我甚至无法输入这行代码,因为我在UIViewController
工作,而tableView
属性是仅UITableViewController
。所以我试图变得聪明,只需将UIViewController
更改为UITableViewController
,但我得到了这个错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "b4k-XH-Uhj-view-V2h-dE-ixJ" nib but didn't get a UITableView.'
Imo这很奇怪,因为UITableViewController可以用于tableView而不是相反,但接缝就像我弄错了,或者这里发生了什么?
如果你要求更多代码=)
谢谢你。
答案 0 :(得分:0)
UITableViewController实际上只是一个UIViewController,它包含一个UITableView的插座,并实现了两个tableview委托:UITableViewDelegate和UITableViewDataSource。
您可能需要考虑使用UITableViewController而不是标准的UIViewController替换nib文件中的viewcontroller实例。
或者,您可以通过为包含的UITableView创建插座来手动调整ForthViewController实例,以将tableview公开为属性。
但是,如果你这样做,你还必须在某处手动实现两个tableview委托UITableViewDelegate和UITableViewDataSource(可能在ForthViewController中),并手动将UITableView与这些委托相关联。