我开始尝试使用 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/