【问题标题】:What is the best way to store document specific settings in a Core Data Document?在核心数据文档中存储文档特定设置的最佳方式是什么?
【发布时间】:2009-07-24 23:49:23
【问题描述】:

我在我的应用程序中使用由 Core Data 支持的 NSPersistantDocument

每个文档都有一些仅与该文档相关的设置。例如,文档需要保存地址簿组的唯一 ID,以便以后更新。

我正在考虑的方法是创建另一个模型DocumentSetting,它有两个属性;一个键和一个值,其中包含NSString's。

理想情况下,我想要类似于 NSUserDefaults 但存储在文档中的内容。

以前有人做过吗?有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: cocoa core-data conceptual


    【解决方案1】:

    NSPersistentStore 上的 setMetadata: 方法可用于存储每个文档的设置。可以在here 找到有关如何使用商店元数据的文档。不过,正如文档中所建议的那样,可以放入的内容有一些大小限制。如果您需要存储比几个键/值对更重要的内容,我建议您在数据模型中创建一个新实体来存储此类数据。

    【讨论】:

      【解决方案2】:

      正如 Brian 所说,持久存储的元数据是处理这类事情的好地方。或者,您添加单独实体的想法也有效(我过去使用过这两种方法)。请记住,如果此 DocumentSetting 实体与文档模型中的其他实体没有关系,您可以将其放入单独的 xcdatamodel 并在运行时使用 -[NSManagedObjectModel mergedModelFromBundles:] 合并模型。至少这样你可以让你的“源”模型文件稍微隔离一下。

      在策略方面,除非您将拥有大量此类文档设置或想要单独查询它们,否则您可以使用可转换属性并将(存档的)NSDictionary 存储在您的 DocumentSettings 实体中.这会让感觉更像NSUserDefaults API,基本上感觉就像一本字典。

      【讨论】:

        猜你喜欢
        • 2011-03-23
        • 1970-01-01
        • 2019-05-03
        • 1970-01-01
        • 2012-02-18
        • 2016-02-26
        • 1970-01-01
        • 1970-01-01
        • 2021-07-05
        相关资源
        最近更新 更多