2012-10-14 65 views
0

我有問題reloadData。如果我將[tableView reloadData];放在didSelectRowAtIndexPath下,它會在我選擇行時刷新。TableView不更新在didSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    [tableView reloadData]; 
    DetailsViewController *detailsViewController = nil; 
    [detailsViewController setMainImage:[UIImage imageNamed:@"1.png"]]; 

但我需要在加載時刷新。所以我把

- (void)viewWillAppear:(BOOL)animated { 
    [tableView reloadData]; 
} 

下,但我收到錯誤消息「未知的接收器‘的tableView’......」

我也嘗試用[self.tableView reloadData];但在對象'FavoritesTabViewController「上找不到」Property'tableView'錯誤消息。

+0

爲什麼你需要選擇一個行後重新加載整個數據?你想在didSelectRowAtIndexPath中做什麼 –

+0

什麼時候創建了你的tableView? FavoritesTabViewController是否從UITableviewController繼承?你從UIViewController繼承,然後創建tableView? – GianPac

+0

我想重新加載數據,我收到錯誤消息,所以我只是把下didSelectRowAtIndexPath絕對是否會reloadData。而且它確實在那裏工作,但並沒有在viewWillAppear下工作。爲什麼在didSelectRowAtIndexPath下工作,而不是在viewWillAppear下工作,以及如何解決它? – user1739539

回答

0

問題是tableView不在ViewWillAppear方法的範圍內。 在didSelectRowAtIndexPath中,它在傳遞給此方法的範圍內。

0

嘗試重新加載中的cellForRowAtIndexPath表視圖becoz即每次呼叫的正裝表