viewWillAppear vs Viewdidload ios
当用iOS导航应用程序代码的时候,我遇到了麻烦这个:
我在哪里可以把方法“initdata”的UITableView? 在viewWillAppear或viewDidLoad?
请帮助我。
您可以根据您的应用程序的要求,把initData,
如果你的表需要每次使用新数据加载数据,那么它应该在下面
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; //initData }
否则,如果表需要通过一个单一的数据重新加载,这个数据没有变化或者没有对数据执行任何编辑操作,你应该使用
- (void)viewDidLoad { [super viewDidLoad]; //initData }
最好在initWithNibName:bundle:
或initWithCoder:
方法中调用该方法,并在-(void)dealloc
释放加载的数据。
此外,你可以在viewDidLoad
并在viewDidUnload
释放加载的数据。 但是最好避免从viewWillAppear:
调用它viewWillAppear:
编辑:
我希望这个数组取决于父视图中的select。 在这种情况下,编写一个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];