簡體   English   中英

viewWillAppear vs Viewdidload ios

[英]viewWillAppear vs Viewdidload ios

使用iOS導航應用程序的代碼時,我遇到了麻煩:

我在哪里可以為UITableView設置方法“initdata”? 在viewWillAppear或viewDidLoad?

請幫幫我。

您可以根據應用程序的需求放置initData,

如果你的表需要每次使用新數據加載數據,那么它應該在

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    //initData
}

否則,如果表需要通過單個數據重新加載,該數據不會發生變化或者沒有對Data執行任何編輯操作,則應使用

- (void)viewDidLoad {
    [super viewDidLoad];
   //initData
}

最好在initWithNibName:bundle:initWithCoder:方法中調用它,並在-(void)dealloc釋放加載的數據。

此外,您可以在viewDidLoad使用它,並在viewDidUnload釋放已加載的數據。 但最好避免從viewWillAppear:調用它viewWillAppear:

編輯:

我希望該數組取決於父視圖中的選擇。 在這種情況下,編寫一個setter方法,該方法在推送視圖控制器之前設置條件並初始化數據。

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
// Pass the selected object to the new view controller and depend on that, load the data.
[detailViewController initData:(id)[_list objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM