objective-c - 在 Core Data 中将 NSURL 存储为字符串

标签 objective-c core-data nsurl

我开始尝试使用 Core Data,只是对存储 URL 之类的东西有疑问。

我目前已将它配置为一个可转换的,它工作正常,但我觉得它可能不必要地存储了多余的数据,因为它可以很容易地用文本表示,我想知道我是否应该只将绝对 URL 存储为一个字符串并在加载时实例化一个 NSURL 对象(我怀疑是这种情况),如果是这样应该如何实现?

到目前为止,我的研究使我想到可以使用 mogenerator,然后只覆盖属性访问器来处理字符串和 NSURL 之间的转换。只是想了解一下这是怎么做的或通常是怎么做的,或者我是否只是因为打扰而让事情变得困难。

干杯 尼克

最佳答案

答案在某种程度上取决于实际 的 URL。

对于文件 URL

使用 NSURL 的例程来生成书签数据并存储它。这使您能够灵活应对四处移动的文件,并且可以包括沙盒应用的安全范围。

其他一切

您的选择是存储:

  • 来自 -absoluteString 的字符串表示
  • 来自 CFURLGetBytes() 的数据表示
  • 使用 NSCoder 生成的数据

最后一个可能仅在您的 URL 由 -baseURL 组成并希望保留该知识时才有用。

关于objective-c - 在 Core Data 中将 NSURL 存储为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14908580/

相关文章:

ios - 是否有实际的 iPhone App cache.db 可以像模拟器一样查看?

objective-c - 通过选择以编程方式创建的 collectionView 的 Cell 切换到另一个 ViewController

iOS Today Extension - 共享核心数据

swift - 无法在 NSURL 中使用字符串变量?

ios - 应用程序更新、NSURL 和文档目录

ios - URL 中的parameterString NSURL 的等效项

iphone - 使矩形等于 ImageView

ios - 检测是否在越狱的 iDevice 中安装/卸载了另一个应用程序

xml - 将数据加载到 Core Data (iOS) 的最快/首选方法

ios - 尝试在 iOS 中对实体的单个属性进行核心数据迁移