我不擅长控制器之间的通信,所以我需要从NSUserDefaults安装和检查很多,可能会导致任何问题?我可以使用viewWillAppear而不是viewDidLoad进行大部分初始化和设置吗?
3
A
回答
3
这取决于你在加载视图的表单开始到结束之后打算做什么。
你不想在viewWillAppear
(当视图准备好显示时调用)做太多,因为它可能会影响性能;通常你想做一些事情,比如刷新表格,或者更新标签上的文字等。一旦加载视图,将调用viewDidLoad
方法,并且通常添加按钮,标签等内容,以及任何想要显示的内容风景。如果您有任何可能需要很长时间才能执行的任务,则最好在viewDidAppear
中执行这些任务,因为该视图已被加载;在单独的线程上执行这些方法是一种很好的做法,或者至少为用户提供某种活动指示器,直到完成工作。
+0
这帮助我解决了viewDidLayoutSubviews无限循环错误。谢谢。我只是把我最小的设置代码放在viewWillAppear中。 – vaticRite 2015-03-24 08:24:22
0
记得viewDidLoad
在视图加载后调用一次。 但是当您的视图变为可见时,将调用viewWillAppear
。有了这些信息,你可以决定放置。
看here欲了解更多信息。
相关问题
- 1. std :: shared_ptr - 我可以使用等号(=)进行初始化吗?
- 2. 初始化CBCharacteristic时可以设置初始值吗?
- 3. 我可以初始化一个数组使用std :: initializer_list而不是大括号初始化?
- 4. 我可以在方法中进行初始化吗?
- 5. 我可以在servlet之后进行过滤器初始化吗?
- 6. 使用DataSourceTransactionManager进行ORM持久化而不是HibernateTransactionManager可以吗?
- 7. 我可以使用大括号初始化BCL不可变集合吗?
- 8. 我可以使用zoom.translateBy来设置初始平移吗?
- 9. 可用于viewWillAppear中创建一个选择而不是viewDidLoad中
- 10. 我可以使用Rails link_to进行POST而不是button_to吗?
- 11. 我可以初始化* char吗?
- 12. 初始化SortedDictionary而不进行比较
- 13. 我可以初始化Smarty elsewere而不是Bootstrap?
- 14. 内存初始化和viewdidload以及事件执行顺序
- 15. .bss部分不是零初始化
- 16. 你可以一次对两个数组进行初始化吗?
- 17. 如何使用初始化设置我的多进程池?
- 18. 初始化GZIPInputStream后,我可以使用实体响应吗?
- 19. viewWillAppear和viewDidAppear不调用,而viewDidLoad调用什么时在UIViewController
- 20. 不使用MAX_ELEMENTS对数组进行初始化会更好吗?
- 21. UILabel永远不会初始化viewDidLoad
- 22. MKMapView和viewDidLoad/viewWillAppear/viewDidAppear使用故事板
- 23. 初始化后可以初始化静态变量吗?
- 24. 为什么我的iOS应用只是去了@synthesize,而不是进一步去viewWillAppear和viewDidLoad?
- 25. 可可:该方法我应该使用来初始化,而不是awakeFromNib
- 26. 我可以使用viewDidLoad之外的故事板在iPhone应用程序中初始化某些内容吗?
- 27. jqGrid - 是否可以在初始化后设置onSortCol?
- 28. 是否可以在F#中初始化时设置子属性?
- 29. jQuery Mobile:我可以“不初始化”页面吗?
- 30. Yii使用x-editable进行部分渲染不会重新初始化字段
在viewDidLoad中运行一个很长的过程会使应用程序在一段时间内无响应。如果这种情况发生在表格视图之间,那么您的应用程序将突然停顿并突出显示表格单元格,从而给您的用户带来很多挫折。 – 2012-03-27 17:49:00