我正在开发一款iPhone应用程序,并在coredata中设置了一个具有两个属性的实体
用户可以为实体中的每个对象拍摄照片。作为概念验证,我使用文档文件夹中的entites'text'属性保存照片。
我尝试使用[object objectID]
获取对象ID,但这给了我一个充满guff的字符串,例如:
<x-coredata://791282FC-9A08-451F-9348-1B972E8A144D/Articulation/p5>
我的想法是向自动增量的实体添加另一个属性“id”,并将该ID用作照片的文件名(每个实体只会有一张照片)。
这被认为是不好的做法吗?如果是这样,我该怎么办?
谢谢, 詹姆斯。
答案 0 :(得分:2)
我会在实体中创建一个属性imageFileName
,并在那里存储图像的文件名。
这样,您可以实现您现在想要做的事情(通过递增内部计数器自动生成imageFileName
),
或者,如果您以后改变主意,可以让用户为图像命名。
一旦发布应用程序,更改CoreData架构并非易事。所以我更喜欢在架构中保留一些空间,这样我就可以在不改变架构的情况下改变程序的行为。
答案 1 :(得分:0)
这是一个很好的问题。我会考虑创建某种uniqueId属性,您可以使用它来标识对象以及生成文件名等。
以下是上一个问题的链接,可以指出正确的方向:https://stackoverflow.com/questions/3005688/how-to-auto-increment-reference-number-persistently-when-nsmanagedobjects-created