[英]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.