On Feb 1, 2010, at 23:53, Maxwell, Adam R wrote: > On 02/01/10 13:55, "Christiaan Hofman" <cmhof...@gmail.com> wrote: > >> Actually, this solution has a problem: passing an array of dictionaries >> through DO sometimes leads to a crash. Archiving the array using >> NSKeyedArchiver solves it. It makes no sense, and I blame NSPortCoder. Pity I >> can't reproduce it in a simple test setting. Anyway, with this extra step it >> works. Still wish I could predict when Cocoa works. > > Are all objects and keys in the dictionary being passed bycopy? NSPortCoder > also requires all objects to implement old-style archiving for that to work. > If the contents of that dictionary was previously being passed over > NSPortCoder as an arry of BibItems with dictionary ivars, it's not likely to > be a DO system bug. >
The only difference with the previous situation is that I replaced the BibItems by NSDictionaries containing the type, fields, and optionally a URL string. So essentially the same data, in fact even less. The enclosing array is passed bycopy, which should mean that the whole thing should be archived. I'd say that NSArray, NSDictionary, and NSString should properly support old-style archiving, otherwise it is an Apple bug for sure. The fact that it did work is not necessarily conclusive, as for the ZOOM case it depended on the order in which some calls were made. Christiaan ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Bibdesk-develop mailing list Bibdesk-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-develop