将 plist 加载到核心数据中

Posted

技术标签:

【中文标题】将 plist 加载到核心数据中【英文标题】:Loading plist into core data 【发布时间】:2015-08-22 12:41:25 【问题描述】:

我有代码可以将 plist 中的数据实际加载到核心数据中的实体中。但是我似乎在寻找任何最新帖子或信息时遇到困难的是如何检查该实体是否已经包含将数据加载到核心数据中的数据/时间。我似乎只能找到过时的非 swift fetchrequests 来检查我没有读过任何非 swift 的东西所以我不知道如何用 swift 语言对它们进行排序....如果你需要查看我必须实际加载的代码我可以提供的数据。我知道如何阅读 plist,但就实际将 plist 加载到核心数据而言,我需要帮助。

【问题讨论】:

一般来说,学习如何阅读objective c 这样你就可以将他们的代码快速转换为swift。仅供参考。 我不清楚你在问什么。您想知道如何查看您的核心数据数据库以查看您的数据是否已加载? 我实际上想让控制器检查我的 plist 中的对象是否已经加载可以说我总共有 565 个对象我想检查这些对象是否到位在初始加载后,对象已经存在于实体中,如果它们不存在 = 使用为此创建的函数加载到实体中。 【参考方案1】:
let databaseAlreadyCreated = NSUserDefaults.standardUserDefaults().boolForKey("databaseAlreadyCreated")
if !databaseAlreadyCreated 
    //call your function to setup your core data database
    NSUserDefaults.standardUserDefaults().setBool(true, forKey:"databaseAlreadyCreated")
    NSUserDefaults.standardUserDefaults().synchronize()

这是最简单的方法。您还可以为您的核心数据创建另一个实体来存储应用程序设置。

最后,您可以尝试获取您的实体,如果它存在 - 这意味着您已经创建了它。如果结果计数为 0 - 这意味着您必须进行设置。

【讨论】:

这是我过去所做的。超级简单,代码不多。 这正是我想要的,谢谢!我唯一的问题是我试图弄清楚 `if !databaseAlreadyCreated 行不通,尽管它说的是预期的声明。 没关系,我终于找到了可行的方法,过去 2 天我头疼得最厉害,所以我没有正确阅读代码

以上是关于将 plist 加载到核心数据中的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Plist 中的数据加载到数组中

将数据从 plist 加载到另一个类

搜索核心数据与 Plist

如何将xml加载到plist

将 plist 数据加载到 UITableView 时从不调用惰性初始化程序

如何将自定义数组保存/重新加载到 plist