我正在尝试使用CoreData来填充UITableView。我一直在使用开发人员“Locations”项目,我认为我的一切都是正确的。但是,现在我在构建时遇到以下错误:
request for member 'tableView' in something not a structure or union
为什么会对tableView感到困惑?我在方法中多次使用它。错误似乎来自:
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
想法?
答案 0 :(得分:1)
当您在不太清晰的情况下使用点语法时,该错误往往会出现。
首先,我会尝试将其更改为[self tableView]
并查看问题是否消失。
至于为什么它只在这种方法中出现,需要显示更多的代码来缩小具体问题的范围。
答案 1 :(得分:0)
什么是self
,为什么你需要在那里使用它?
如果您在一个名为tableView的成员的班级中,可能只有在您需要使用self
访问它时,才能创建它以使@property (retain)
生效。当然,对成员的访问也明确清楚也不是一个坏主意。
(编辑eman - 不用担心!)
答案 2 :(得分:0)
您确定要正确地继承UITableViewController
吗?如,
@interface MyTableViewController : UITableViewController {}
编辑:正如Rob Lourens所说,你的问题是你是UIViewController
而不是UITableViewController
的子类。 UIViewController
具有通用view
属性,但没有表格视图 - 在不需要管理表格视图的情况下使用它,并在任何情况下使用UITableViewController
做。