我有一个[self.tableView reloadData]
的方法,但我收到错误Property 'tableView' not found on object of type 'JSONTableViewController *'
。
如果我将界面设为UIViewController,会发生这种情况,但如果我将界面设为UITableViewController,那么我就不会收到错误。
但是,如果我将它设为UITableViewController并将焦点切换到应用程序中的表格,我会收到错误Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "Y4P-9F-EJw-view-lhp-ew-nTw" nib but didn't get a UITableView.'
我现在已经尝试解决这个问题多年了,但我无法找到解决方案。
答案 0 :(得分:3)
UITableViewController has a "tableView
" property。 UIViewController没有tableView
“属性。
如果你想要一个使用UIViewController的“tableView
”属性,你需要自己添加一个。
E.G。
@property (strong) IBOutlet UITableView *tableView;
请务必将故事板或xib中的表格视图与“tableView
”属性相关联。
答案 1 :(得分:2)
我有一个方法可以[self.tableView reloadData]但是我是 得到错误Property' tableView'在类型的对象上找不到 ' JSONTableViewController *'。
出现错误是因为您的界面中没有任何名为tableView
的媒体资源。
如果我将我的界面设为UIViewController,则会发生这种情况,但如果我这样做的话 接口是UITableViewController,然后我就不会收到错误。
这很好,因为UITableViewController
有tableView
属性,请参阅here。
但是,如果我将它设为UITableViewController并将焦点切换到 在应用程序中的表中,由于未捕获,我收到错误终止应用程序 异常' NSInternalInconsistencyException',原因: ' - [UITableViewController loadView]加载了 " Y4P-9F-EJW - 视图 - LHP-EW-NTW" nib但没有得到UITableView。'
请参阅this回答,您没有任何与tableView
财产相关联的插座。
您应该查看表格视图sample implementation。
答案 2 :(得分:0)
您有一个该视图控制器的nib文件,它的视图是普通视图而不是表视图。此外,普通的UIViewController没有自动的tableview属性。您有两种选择:
将视图控制器保留为UITableViewController的子类并修改nib,以便"查看" "文件所有者"出口指向UITableView或只删除xib文件(您必须在代码中进行任何表视图自定义)。
让您将控制器视为UIViewController的子类,并创建自己的tableView插座。在您的nib中添加一个表视图作为子视图,并将其连接到新创建的tableView插座。在这种情况下,您还必须手动设置表视图的委托和数据源。