Hi Jens,

> On 4 Feb 2016, at 19:21, Jens Alfke <[email protected]> wrote:
> 
> 
>> On Feb 4, 2016, at 11:02 AM, Dave <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> However, after I unarchive this object, the pNetworkParentNode property is 
>> nil. 
> 
> Is this after the entire object graph has been unarchived, or is it inside 
> your -initWithCoder: method?

After the entire Network has been unarchived. All three of the top level 
properties should be setup:

NSMutableArray*                  pNetworkArray;                 //Contains an 
Hierarchical Array of LTWNetworkNode’s 
NSMutableDictionary*             pNetworkDict                           
//Contains a Hierarchical Dict of LTWNetworkNode’s
NSMutableDictionary*             pNetworkFlatDict                       
/Contains Flat Dictionary of Key-LongID/LTWNetworkNode’s

And in pNetworkArray the Children seem fine, but the parents are all nil. Can’t 
think how to debug this especially as I can’t look at it in the debugger. I was 
wondering if this is in fact a clue somehow?
> 
>> I was wondering about copyWithZone, should I use copy for this?
> 
> No! That would make each node’s parent point to a copy of the parent, not the 
> real parent, which would probably be disastrous.

Yes, and because it’s the same class it causes an infinite loop too!


>> Meant to Add that pNetworkParentNode is defined as weak - does this make a 
>> difference? If I make it strong, it would cause a cycle? 
> 
> Hm. I don’t know how weak ivars interact with unarchiving. They should work 
> OK, since the unarchiver has a collection that points to every object that’s 
> been unarchived and will keep any of them from getting dealloced, but I”m not 
> sure.
> 
> But yeah, if you make that strong you’ll have cycles.

Yes, how about assign? Makes me a bit nervous because if they go stale, they 
don’t get set to nil?

All the Best
Dave

_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to