Objective c 如何在objective C中调用RefreshTableView函数?

Objective c 如何在objective C中调用RefreshTableView函数?,objective-c,ios,uitableview,reloaddata,Objective C,Ios,Uitableview,Reloaddata,我编写了一个刷新函数,用UITableview参数在iPhone应用程序中重新加载tableview。 我的问题是如何调用或调用这个刷新函数 - (void)RefreshTableView:(UITableView *)tableView { if(tableView != nil){ [tableView reloadData]; } } 如果-(void)refreshttableview:(UITableView*)tableView位于同一文件中,

我编写了一个刷新函数,用UITableview参数在iPhone应用程序中重新加载tableview。 我的问题是如何调用或调用这个刷新函数

- (void)RefreshTableView:(UITableView *)tableView 
{
    if(tableView != nil){
       [tableView reloadData]; 
    }

}
如果
-(void)refreshttableview:(UITableView*)tableView
位于同一文件中,则可以调用它


[self-RefreshTableView:aTableView]当你想打电话时

从类本身
[自刷新TableView:yourTableView]

类之外的窗体
[yourClassInstance RefreshTableView:yourTableView]

附言:
您应该重构代码并使用
refreshttableview:
重命名
refreshttableview:
首先按照以下方式重命名方法:

- (void)refreshTableView:(UITableView *)tableView
[self refreshTableView:yourTableview];
- (void)refreshTableView
{
    [[self myTable] reloadData];
}
[self refreshTableView];
然后,要调用该方法,需要执行以下操作:

- (void)refreshTableView:(UITableView *)tableView
[self refreshTableView:yourTableview];
- (void)refreshTableView
{
    [[self myTable] reloadData];
}
[self refreshTableView];
其中,
self
表示将接收消息的对象。在本例中,
self
是包含该方法的对象的实例

现在,为什么还需要传递表视图的实例

如果该表视图有一个实例变量,并且已经合成了它(
@property/@synthesis
模式),则可以简单地执行以下操作:

- (void)refreshTableView:(UITableView *)tableView
[self refreshTableView:yourTableview];
- (void)refreshTableView
{
    [[self myTable] reloadData];
}
[self refreshTableView];
然后按如下方式调用该方法:

- (void)refreshTableView:(UITableView *)tableView
[self refreshTableView:yourTableview];
- (void)refreshTableView
{
    [[self myTable] reloadData];
}
[self refreshTableView];
编辑

正如danh所建议的,如果您有一个属性(或实例变量),也可以直接调用

[[self myTable] reloadData]; // or [self.myTable reloadData];

无需通过refreshTableView

+1进行裁剪。如果你指出这个函数是不必要的,我会再加一次。替换为[self.myTable reloadData];我正在做一个笑话应用程序,因为主页列出了数据库中jokescategory表中的类别。我有一些设置来禁用类别,表更新工作正常。但是问题是RootView(主页)没有被重新加载。当再次运行应用程序时,它将被重新加载。那么如何重新加载RootView呢?我尝试了[tablView reloadData]和[self.tableView reloadData],我在DB中有两个表,一个用于category(jokestategory),另一个用于jokesbody(jokesbody)。表已成功更新,但根视图未重新加载。那么我如何重新加载RootView?@rajesh你能更好地解释一下你的目标吗?也许在你的问题中加入一个编辑,并提供更多的代码。谢谢。@Flex_上瘾了我已经在下面发布了我的问题,在向对象发送消息之前,您不需要检查对象是否为
nil
。发送给
nil
的消息被忽略。我在做一个iphone应用程序的笑话,因为主页列出了数据库中jokescategory表中的类别。我有设置来禁用类别,它工作得很好。我在做一个笑话应用,因为主页上列出了数据库中jokescategory表中的类别。我有一些设置来禁用类别,表更新工作正常。但是问题是RootView(主页)没有被重新加载。当再次运行应用程序时,它将被重新加载。那么如何重新加载RootView呢?我尝试了[tablView reloadData]和[self.tableView reloadData],我在DB中有两个表,一个用于category(jokestategory),另一个用于jokesbody(jokesbody)。表已成功更新,但根视图未重新加载。那么我怎样才能重新加载RootView?@Jim看到我的命令我需要你的帮助。你不应该留下多条评论要求个人帮助你。如果你有新问题,发布一个新问题。不要要求过去与你互动过的所有人帮助你。谢谢。但是它会抛出错误aTableView未声明并且也尝试过tableView它也会抛出错误error@rajesh:在您已声明表视图的位置?在.h或.m文件中?@rajesh:如果您想在.m文件中的任何位置使用表的变量,那么您必须在.h文件中声明它(用于变量的范围)。我已在下面的链接检查中发布了我的问题,并回复我我需要您的帮助。您的意思是它不起作用?数据源数组中是否有值?是否设置了正确的单元格和行数?您是否在cellForRow中显示数据?