> On 5 Feb 2016, at 16:10, Keary Suska <cocoa-...@esoteritech.com> wrote:
> 
> 
>> On Feb 5, 2016, at 8:45 AM, Dave <d...@looktowindward.com> wrote:
>> 
>> Hi All,
>> 
>> I have written a Test App that demonstrates the problem, please let me know 
>> if you’d like a copy.
>> 
>> I’m not sure if its a bug or not and if not a bug then how to make it work. 
>> Everyone keeps telling me its possible but no one seems to know how to make 
>> it work.
>> 
>> According to the (few) docs I found on it, its possible too, but again it 
>> doesn’t actually tell you how to do it.
>> 
>> I’ll use up a DTS incident on this but they will take forever to respond and 
>> I jwish I knew for certain whether this is *SUPPOSED* to work or not. It 
>> doesn’t actually say in black and white one way or the other.
> 
> I would like to see a copy, as I am curious why it isn’t working. The issue 
> isn’t that no-one knows how, it is that it is simply supposed to work. There 
> shouldn’t be anything you need to do to encode a complex graph.
> 
> However, I can see that *decoding* the graph could be difficult. The decoding 
> of any single object happens in the -initWithCoder: implementation of that 
> object. One would think that until that method is exited, NSCoder cannot know 
> that the object exists. Therefore If any of its child objects reference it, 
> how can the coder know which object to use? I don’t know how, or if, 
> NSKeyedUnarchiver handles this situation.

It works now. It handles it by doing at least two passes. The first pass it 
creates a dictionary of all “Unique” Objects, and then on the second pass 
substitutes references to keys in the dictionary…….

> You may have to handle it yourself—i.e. do not encode “parent” properties and 
> instead set the property value in the parents’ -initWithCoder:.

I knew it would handle it, I just thought there was some magic you had to 
somehow provide, but this “magic” is provided by the Archiver/Unarchiver *if* 
you don’t inadvertently break the self-referential nature of the original 
network.

All the Best
Dave


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to