gpt4 book ai didi

ios - UIViewController viewDidLoad 与 viewWillAppear : What is the proper division of labor?

转载 作者:IT王子 更新时间:2023-10-29 07:26:39 24 4
gpt4 key购买 nike

我一直不太清楚应该分配给 viewDidLoad 还是 viewWillAppear 的任务类型:在 UIViewController 子类中.

例如我正在做一个应用程序,其中有一个 UIViewController 子类访问服务器、获取数据、将其提供给 View 然后显示该 View 。在 viewDidLoadviewWillAppear 中这样做的优缺点是什么?

最佳答案

viewDidLoad 是你必须做一次的事情。每次出现 View 时都会调用 viewWillAppear。你应该做你只需要在 viewDidLoad 中做一次的事情——比如设置你的 UILabel 文本。但是,您可能希望在每次用户查看 View 时修改 View 的特定部分,例如每次您转到“正在播放” View 时,iPod 应用程序都会将歌词滚动回顶部。

但是,当您从服务器加载内容时,您还必须考虑延迟。如果您将所有网络通信打包到 viewDidLoad 或 viewWillAppear 中,它们将在用户看到 View 之前执行 - 可能会导致您的应用程序短暂卡住。首先向用户展示一个带有某种事件指示器的未填充 View 可能是个好主意。当您完成您的网络时,这可能需要一两秒钟(或者甚至可能会失败 - 谁知道呢?),您可以使用您的数据填充 View 。在各种 Twitter 客户端中可以看到有关如何完成此操作的很好示例。例如,当您在 Twitterrific 中查看作者详细信息页面时,该 View 只会显示“正在加载...”,直到网络查询完成。

关于ios - UIViewController viewDidLoad 与 viewWillAppear : What is the proper division of labor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com