iPhone核心数据:请求会员';tableView';在非结构或联盟中

iPhone核心数据:请求会员';tableView';在非结构或联盟中,iphone,uitableview,core-data,Iphone,Uitableview,Core Data,我正在尝试使用CoreData填充UITableView。我一直在使用开发人员的“位置”项目,我认为我的一切都是正确的。但是,现在我在构建时遇到以下错误: request for member 'tableView' in something not a structure or union 为什么会对tableView感到困惑?我在方法中多次使用它。错误似乎来自: [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:

我正在尝试使用CoreData填充UITableView。我一直在使用开发人员的“位置”项目,我认为我的一切都是正确的。但是,现在我在构建时遇到以下错误:

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];

想法?

什么是
self
,为什么需要在那里使用它

如果您所在的类中有一个名为tableView的成员,那么您需要使用
self
访问该类的唯一时间可能是创建该类以使您的
@属性(retain)
生效。当然,明确地清除对成员的访问也不是一个坏主意


(为eman编辑-不用担心!)

您确定正确地子类化了
UITableViewController
?如:

@interface MyTableViewController : UITableViewController {}

EDIT:正如Rob Lourens所说,您的问题是您正在子类化
UIViewController
,而不是
UITableViewController
UIViewController
有一个通用的
view
属性,但没有表视图——在不需要管理表视图的任何情况下使用它,在需要管理表视图的任何情况下使用
UITableViewController

当您在不太清晰的情况下使用点语法时,该错误往往会出现

首先,我会尝试将其更改为
[self tableView]
,看看问题是否消失


至于为什么它只出现在这个方法中,需要显示更多的代码来缩小具体问题。

self.tableView
只是意味着您正在使用访问器,而不是直接访问ivar。通常最好总是使用访问器,尤其是(在本例中)当您访问不受控制的超类中的属性时。对不起,我可能误读了您的答案(如果您编辑它,我将取消否决)。不过,在这种情况下使用访问器几乎肯定是一个好主意。在我看来是这样的@接口MyriedViewController:UIViewController{}您需要子类化
UITableViewController
,而不是
UIViewController