【发布时间】:2012-03-27 17:43:31
【问题描述】:
我不擅长控制器之间的通信,所以我需要从 NSUserDefaults 进行设置和检查,这可能会导致任何问题吗?
【问题讨论】:
-
在viewDidLoad中运行较长的进程会导致应用在一段时间内无响应。如果在表格视图之间发生这种情况,您的应用将在表格单元格突出显示的情况下停止,给您的用户带来很多挫败感。
标签: ios uiviewcontroller viewwillappear
我不擅长控制器之间的通信,所以我需要从 NSUserDefaults 进行设置和检查,这可能会导致任何问题吗?
【问题讨论】:
标签: ios uiviewcontroller viewwillappear
这取决于您在加载视图的表单开始到结束后打算做什么。
您不想在viewWillAppear 中做太多事情(当视图准备好显示时调用),因为它可能会影响性能;通常你想做一些事情,比如刷新表格,或更新标签上的文本等。一旦加载视图,就会调用 viewDidLoad 方法,通常添加按钮、标签等任何你想要的东西出现在视图上。如果您有任何可能需要很长时间才能执行的任务,最好在viewDidAppear 中执行,因为视图已经加载;最好在单独的线程上执行这些方法,或者至少在工作完成之前为用户提供某种活动指示器。
【讨论】:
请记住 viewDidLoad 在视图加载后调用一次。
但是,当您的视图变得可见时,就会调用 viewWillAppear。有了这些信息,您可以决定放置。
查看here 了解更多信息。
【讨论】: