Re: NSCoder with network
Re: NSCoder with network
- Subject: Re: NSCoder with network
- From: James Maxwell <email@hidden>
- Date: Sun, 13 Dec 2009 11:53:19 -0800
Brilliant. Thanks!
J.
On 2009-12-13, at 11:50 AM, A.M. wrote:
>
> On Dec 13, 2009, at 12:29 PM, James Maxwell wrote:
>
>> Hello All,
>>
>> I've got a potentially tricky problem here. My app is backed by a network-like data structure based on three objects: a Network_Controller, a Network, and a set of Nodes. The network is arranged in a hierarchy of levels, with each level having at least one node. The Network object stores this as a 2D NSArray; each level is an NSArray, which holds an NSArray of Nodes for the given level. The Nodes, obviously, also have parent/child relationships.
>> Now, the problem has been in reading files saved using NSCoder. I'm reading/writing these files in a fairly typical manner, at this stage, by having the Network_Controller initiate the save, which tells the Network to encode its 2D array of Nodes, each of which encodes its necessary data, in turn (as per the typical way of using encodeWithCoder/initWithCoder). A single Node's data, however, includes references to parent/child Nodes. So the question is, how to best decode this from the file? Ideally, I suppose, it should start at the top level, decode the single top-level Node first, then work its way down. I'm not doing that, at this point, as I'm just letting the Network decode its 2D array of Nodes, and crossing my fingers. It loads, but the behaviour of the whole thing after loading is not what it should be - it's a complex system, so it's hard to identify exactly why, but it isn't doing what it should be doing.
>> Any thoughts on how to manage this sort of decoding? And should I also approach the encoding in a particular way?
>
> NSCoder already handles pointer loops in data structures and repoints decoded object pointers. Just encode both parent and child objects as you would any other objects.
>
> Cheers,
> M
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden