猿问

UIViewController viewDidLoad与viewWillAppear:什么是正确的

我一直对应分配给的任务类型有点不清楚viewDidLoad对比viewWillAppear:在一个UIViewController子类。


例如,我正在做一个应用程序,其中有一个UIViewController子类访问服务器,获取数据,将其提供给视图,然后显示该视图。在viewDidLoadvs. 中这样做的利弊是什么viewWillAppear?


浮云间
浏览 478回答 3
3回答

aluckdog

最初仅将ViewDidLoad与tableView一起使用。在进行Wifi丢失测试时,通过将设备设置为飞行模式,意识到该表不会随着Wifi的返回而刷新。实际上,即使在-Info.plist中将背景模式设置为YES的情况下,按下主页按钮,似乎也无法刷新设备上的tableView。我的解决方案:-(void) viewWillAppear: (BOOL) animated { [self.tableView reloadData];}

Smart猫小萌

重要的是要注意,使用viewDidLoad进行定位有些冒险,应避免使用,因为未设置边界。这可能会导致意外的结果(我遇到了很多问题...)这篇文章很好地描述了不同的方法以及每种方法中发生的事情。目前用于一次初始化和定位,我正在考虑将viewDidAppear与标志一起使用,如果有人有其他建议,请告诉我。
随时随地看视频慕课网APP

相关分类

iOS
我要回答