繁体   English   中英

viewDidLoad何时被调用?

[英]When is viewDidLoad called?

它是安全的假设,一个属性,即fetchedResultsControllerchatViewController ,一个子类的实例UITableViewController ,总是nilviewDidLoad被调用时,假设它被设置成nilviewDidUnload 唷!

如果是这种情况,那么我认为没有必要立即重新定义访问器函数,就像在Xcode示例应用程序CoreDataBooks中那样。 我宁愿把所有代码放在viewDidLoad而不是单独的函数中,因为这是我唯一使用它的地方。

在这些Secnarion中调用的ViewDidLoad: -

1.当我们通过segue或stoary board id创建它的对象后推动视图控制器。

2.如果在应用程序中创建实例更多时间并且一次又一次地推送它,则调用多个。例如: - 如果你实现像coaursal(在滚动期间需要额外的控制器),就像它需要它所以它可以多次调用viewDidLoad。

3.当所有内存实例(uiviewcontroller及其子类实例化)时调用,这意味着我们的视图准备好在内存中加载地址。

4.Remember仅创建子类控制器对象。在正常的Secnarion期间,从未实例化过类对象。

加载视图后调用viewDidLoad。 fetchedResultsController是否为n取决于viewController的初始化方式。 例如,在创建detailViewController ,可以在调用viewDidLoad之前设置其fetchedViewController

RecipeDetailViewController *detailViewController = [[RecipeDetailViewController alloc] initWithStyle:UITableViewStyleGrouped];
detailViewController.fetchedResultsController = fetchedResultsController;

[self.navigationController pushViewController:detailViewController animated:animated];
[detailViewController release];

也就是说,然后在viewDidUnload中nil'ing fetchedResultsController将确保它为零。

您必须假设可以多次调用viewDidLoad。 如果发送了内存警告,视图控制器将从内存中卸载视图,下次需要时将调用viewDidLoad。

仅在第一次实例化视图时调用viewDidLoad 如果您不是每次都在应用程序中重新创建视图控制器,那么您只能调用一次(如果您收到内存警告,则再次调用,并且视图为零)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM