2010-07-26 86 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:方法進行必要的更新。

我不確定你的意思是「實際的數組值沒有被刷新」。兩個視圖控制器如何交換數據很大程度上取決於您想要完成的任務。如果模態視圖僅在一個地方使用,則主控制器可以直接訪問其屬性。或者,也許你想要一個專門的課程來保持國家......再次,取決於上下文。