[英]When is viewDidLoad called?
它是安全的假设,一个属性,即fetchedResultsController
的chatViewController
,一个子类的实例UITableViewController
,总是nil
时viewDidLoad
被调用时,假设它被设置成nil
的viewDidUnload
? 唷!
如果是这种情况,那么我认为没有必要立即重新定义访问器函数,就像在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.