在Swift或Objective-C中的Today Widget中读取CoreData

时间:2015-02-08 20:25:29

标签: ios objective-c xcode swift

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

  • 使用CoreData(在AppDelegate中)创建新项目
  • 在CoreData模型中创建实体,并使用名称或日期等一些属性
  • 在View的控制器中填充名称和日期,其中一条记录如" Martin" &#34 10/11 34#;

现在我需要在TodayViewController中读取此名称

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

我将指出,它更容易使用和同步NSUserDefaults在一个小部件和它的适当的应用程序比它是CoreData。

您想阅读下面有关共享扩展程序数据的Apple文档:

Apple docs

请注意以下部分:

  

与您的应用程序共享数据

     

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

     

背景

     

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

     

但是,您可以启用数据共享。例如,您可能想要   允许您的应用扩展程序及其包含的应用分享一个   大量数据,例如预渲染资产。