
TabbarController中的每个VIEwController都是一个NavigationVIEwController.每个NavigationController的第一个视图控制器是我的自定义视图.所有都是通过Interface Builder创建链接.
现在,如何以正确的方式传递managedobjectContext?实际上我需要我的视图尽快加载数据,以便当用户选择选项卡或浏览NavigationControllers时,数据已经存在.
所以我的问题是:
>如何正确传递上下文?
>我什么时候应该获取我的数据,即在哪种方法? “vIEwDIDLoad”或“vIEwDIDAppear”?
感谢所有的想法!
解决方法 您通常应该远离从应用程序委托获取共享对象.它使它的行为太像一个全局变量,并且有一大堆与之相关的问题.单身人士只是花哨的全球变量,所以除非真的有必要,否则应该避免这些变数.我会为每个视图控制器添加一个managedobjectContext属性,并在创建它们时指定它.这样,您的视图控制器与应用程序委托没有紧密的联系.
至于何时获取数据,你应该懒惰地做.核心数据真的很快,所以我要等到vIEwWillAppear:做你的抓取.如果您等到vIEwDIDAppear:,则视图已经在屏幕上,并且数据加载时会出现闪烁.但请注意,每当您的视图变得可见时(例如,当用户点击导航栏上的后退按钮,或者模态视图控制器被解除时),就会调用vIEwWillAppear:因此您可能想要跟踪是否已经已加载数据并跳过后续调用的加载.
总结以上是内存溢出为你收集整理的iphone – 如何在内部UINavigationControllers中使用UITabBarController时共享ManagedObjectContext全部内容,希望文章能够帮你解决iphone – 如何在内部UINavigationControllers中使用UITabBarController时共享ManagedObjectContext所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)