Answers:
viewDidLoad是您必须做一次的事情。每当出现视图时,都会调用viewWillAppear。您应该做的事情只需要在viewDidLoad中执行一次即可,例如设置UILabel文本。但是,您可能希望每次用户查看时都修改视图的特定部分,例如,每次进入“正在播放”视图时,iPod应用程序都会将歌词滚动回到顶部。
但是,从服务器加载内容时,还必须考虑延迟。如果将所有网络通信打包到viewDidLoad或viewWillAppear中,它们将在用户看到视图之前执行-可能会导致您的应用短暂冻结。首先向用户显示带有某种活动指示符的未填充视图可能是个好主意。完成网络连接后,这可能需要一到两秒钟(甚至可能会失败-谁知道?),因此可以用数据填充视图。可以在各种Twitter客户中看到有关如何完成此操作的好示例。例如,当您在Twitterrific中查看作者详细信息页面时,该视图仅显示“正在加载...”,直到完成网络查询为止。
取决于,每次打开视图时是否需要加载数据?还是只有一次?
viewDidLoad:
无论您进行任何处理,都必须执行一次。
viewWilLAppear:
每次加载页面时需要更改的任何处理。
标签,图标,按钮标题或大多数dataInputedByDeveloper 通常不会更改。名称,照片,链接,按钮状态,列表(tableViews或collectionView的输入数组)或大多数dataInputedByUser 通常都会更改。
viewWillAppear
您可以查询和查看最新的推文。viewDidAppear
为时已晚