iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 如何在内部UINavigationControllers中使用UITabBarController时共享ManagedObjectContext大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个架构问题.我的应用程序在应用程序窗口中使用TabBarController. ApplicationDelegate创建managedObjectContext,它实际上不需要它.

TabBarController中的每个ViewController都是一个NavigationViewController.每个NavigationController的第一个视图控制器是我的自定义视图.所有都是通过Interface Builder创建链接.

现在,如何以正确的方式传递managedObjectContext?实际上我需要我的视图尽快加载数据,以便用户选择选项卡或浏览NavigationControllers时,数据已经存在.

所以我的问题是:

>如何正确传递上下文?
>我什么时候应该获取我的数据,即在哪种方法? “viewDidLoad”或“viewDidAppear”?

感谢所有的想法!

解决方法

您通常应该远离从应用程序委托获取共享对象.它使它的行为太像一个全局变量,并且有一大堆与之相关的问题.单身人士只是花哨的全球变量,所以除非真的有必要,否则应该避免这些变数.

我会为每个视图控制器添加@L_655_1@managedObjectContext属性,并在创建它们时指定它.这样,您的视图控制器与应用程序委托没有紧密的联系.

至于何时获取数据,你应该懒惰地做.核心数据真的很快,所以我要等到viewWillAppear:做你的抓取.如果您等到viewDidAppear:,则视图已经在屏幕上,并且数据加载时会出现闪烁.但请注意,每当您的视图变得可见时(例如,当用户点击导航栏上的后退按钮,或者模态视图控制器被解除时),就会调用viewWillAppear:因此您可能想要跟踪是否已经已加载数据并跳过后续调用的加载.

大佬总结

以上是大佬教程为你收集整理的iphone – 如何在内部UINavigationControllers中使用UITabBarController时共享ManagedObjectContext全部内容,希望文章能够帮你解决iphone – 如何在内部UINavigationControllers中使用UITabBarController时共享ManagedObjectContext所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。