2010-07-26 52 views
0

我有一个modalViewController刷新数据,当数据刷新时,父控制器也需要刷新它的数据。我试着做一个[tableView reloadData];但由于实际的数组值没有被刷新,所以它不能正常工作。有没有一种方法让我重新加载控制器,而不需要用户看到任何动画?如何“刷新”UIView

感谢您的帮助!

回答

1

您是否刷新主线程的数据?如果是这样,你需要使用下面的方法来调用reloadData方法:

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait

所以对于一个的tableView它会是这样的:

[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

0

底层视图可以在模态视图显示时发布,因此您不应该尝试直接修改它。相反,您可以在主视图控制器上使用viewWillAppear:方法进行必要的更新。

我不确定你的意思是“实际的数组值没有被刷新”。两个视图控制器如何交换数据很大程度上取决于您想要完成的任务。如果模态视图仅在一个地方使用,则主控制器可以直接访问其属性。或者,也许你想要一个专门的课程来保持国家......再次,取决于上下文。