在Swift或Objective-C中阅读今天的Widget中的CoreData

我真的需要一些简单的代码 ,如何在TodayWidget中读取CoreData这个步骤我做了:

  • 使用CoreData创build新项目(在AppDelegate中)
  • 在CoreData模型中创build一个实体,以及一些属性如名称或date
  • 在应用程序的ViewController填充名称和date与一个logging,如“马丁”“10/11”

现在我需要在TodayViewController中读取这个名字

请真的在这里发布一些简单的代码,或者如何编辑AppDelegate以使用appgroup …

谢谢 !

小部件必须能够读取其代码中的数据。 为了做到这一点,您需要将CoreData文件设置为位于项目的“组”文件夹中(您可以将CoreData Stack设置为将其文件重定位到该文件夹​​中)。 然后,您将在您的扩展中configuration指向相同文件的CoreData Stack。 这些组文件夹是可以跨多个具有组权限的目标/应用程序访问的文件夹。

我将指出,在一个小部件中使用和同步NSUserDefaults要容易得多,而且它是比CoreData更合适的应用程序。

您需要阅读以下有关共享扩展数据的Apple文档:

苹果文档

请注意以下部分:

与您的包含应用程序共享数据

即使应用程序扩展包嵌套在其包含的应用程序包中,正在运行的应用程序扩展和包含应用程序也不能直接访问彼此的容器。

背景

要了解容器,请阅读“文件系统编程指南”中的关于iOS文件系统。

但是,您可以启用数据共享。 例如,您可能希望允许您的应用扩展程序及其包含的应用程序共享一组较大的数据,例如预渲染的资源。