用于将图像与记录相关联的Coredata最佳实践

时间:2011-02-13 05:07:48

标签: iphone objective-c core-data

我正在开发一款iPhone应用程序,并在coredata中设置了一个具有两个属性的实体

  • 文本
  • 顺序

用户可以为实体中的每个对象拍摄照片。作为概念验证,我使用文档文件夹中的entites'text'属性保存照片。

我尝试使用[object objectID]获取对象ID,但这给了我一个充满guff的字符串,例如:

<x-coredata://791282FC-9A08-451F-9348-1B972E8A144D/Articulation/p5>

我的想法是向自动增量的实体添加另一个属性“id”,并将该ID用作照片的文件名(每个实体只会有一张照片)。

这被认为是不好的做法吗?如果是这样,我该怎么办?

谢谢, 詹姆斯。

2 个答案:

答案 0 :(得分:2)

我会在实体中创建一个属性imageFileName,并在那里存储图像的文件名。

这样,您可以实现您现在想要做的事情(通过递增内部计数器自动生成imageFileName), 或者,如果您以后改变主意,可以让用户为图像命名。

一旦发布应用程序,更改CoreData架构并非易事。所以我更喜欢在架构中保留一些空间,这样我就可以在不改变架构的情况下改变程序的行为。

答案 1 :(得分:0)

这是一个很好的问题。我会考虑创建某种uniqueId属性,您可以使用它来标识对象以及生成文件名等。

以下是上一个问题的链接,可以指出正确的方向:https://stackoverflow.com/questions/3005688/how-to-auto-increment-reference-number-persistently-when-nsmanagedobjects-created