2012-04-03 71 views
0

我一直在這個工作了幾個小時,沒有用,我有一個方法,在viewWillAppear重新加載表的部分。但是,在第一次重新加載之後,該方法似乎不再起作用。我知道這是因爲我把一個NSLog放在cellForIndex方法中。如果有關係,我推動並彈出導航欄。爲什麼我必須重新加載表中的行的方法只能重新加載一次?

- (void)viewWillAppear:(BOOL)animated { 
    NSLog(@"START TIME:%@", eSTime); 
    NSLog(@"END TIME:%@", eEtime); 
    NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:0 inSection:1]; 
    reloadRows = [NSArray arrayWithObjects:rowToReload, nil]; 
    [self.tableView reloadRowsAtIndexPaths:reloadRows withRowAnimation:UITableViewRowAnimationNone]; 
} 
+0

你的cellForRowAtIndexPath方法是什麼樣的?當你說你把一個日誌,它甚至不被稱爲? – 2012-04-03 04:25:21

回答

0

很可能是因爲某種原因,視圖控制器的容器視圖只會告訴它它只出現一次。

您放置此視圖控制器有責任告訴它什麼時候會出現,並且已經出現,並且是否以動畫方式呈現。

如果由於某種原因,視圖控制器在第一次出現後沒有正確調用此方法,那麼視圖控制器將只會使用-viewWillAppear:方法調用接收一次,因此重載只會發生一次。

所以問題就變成了:你如何顯示這個視圖控制器?它是在你自己製作的容器中,還是在UINavigationController中,還是在其他的容器中?

相關問題