On Dec 15, 2009, at 20:47, Richard Somers wrote: > On Dec 15, 2009, at 9:18 PM, Graham Cox wrote: > >> You're archiving 'value'. You want instead to return the mutableData that >> the first archiver wrote to, which is otherwise unused. > > Thanks. Saving keyed archive of struct foo now works for xml store (I think, > when I open up the xml document I was expecting to see the keys for foo but > instead just see data as before). > > Prior to this change document saved ok in xml and sqlite but save as binary > resulted in error: *** -[NSKeyedArchiver encodeValueOfObjCType:at:]: this > archiver cannot encode structs. > > With this change saving to xml is ok but saving as sqlite or binary results > in error: The document could not be saved as "document".foo is a required > value. > > My whole application works fine with core data, bindings, saving to different > store types, etc. Just this one attribute is causing problems. > > Any ideas? >
I think you're running into a known problem with the binary store not respecting the value transformer name and instead always using the default archiver (NSKeyedArchiver). The only real workaround is to have a wrapper property (ie a property returning an NSData) that does the transform and persist that instead. +Melissa _______________________________________________ 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