Hi Ken If someone created another copy of your database, I imagine the last path component could be duplicated, since it would not know about the other copy and create the same primary key.
I believe that the URI is made up of the store id / entity / reference object. With a document based application, the store id changes when you do a save as, but I presume a non-document based app would remain constant. I entity related changes are identified in the metadata via a hash, and I don't think they would affect the URI, but I haven't had cause to check that. Another option for naming your files may be based on a UUID you store in your data, or perhaps something like a SHA1 hash of the file, which would also let you know if the file had changed, if that was of interest to you. HTH Gideon On 06/04/2010, at 9:27 PM, Ken Tabb wrote: > My questions are: > > [1] Presuming that my Employee objects all have permanent objectIDs, can I > rely upon using [[[[myEmployee] objectID] URIRepresentation] > lastPathComponent] as a unique filename for that object? i.e. so that I end > up with p101.tiff, p102.tiff images. > > [2] Is an object's permanent ID truly permanent (for that saved object, in > that store, on that app, on that machine), or might it get changed when an > app's managed model gets modified (eg. when I start making Company entities > too, or if I add a 'shoesize' attribute to an Employee) or during a future > version of Core Data? > > [3] Are the SQLite-based objectIDs similarly easy to get to the unique bit > (and similarly can I rely upon always being able to use them)? > > Or is there a better way of doing what I'm trying to do? The docs seem rather > thin on the ground in terms of permitted (read-only) uses of the objectID, > besides testing for equality, and for permanence. As I say, the app is > working fine at the moment (on a development release XML store), but I just > want to check if I'm making safe assumptions as it feels almost as dirty and > sneaky as playing with private APIs, and I'd rather not base a shipping app > on something just because it happens to work right now for me on my machine :) > > As ever, thanks in advance for any help you can give, > Ken > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com