Лучший подход к узлу сериализации дерева - PullRequest
0 голосов
/ 17 августа 2011

Мне нужно сериализовать узел дерева, поскольку на данный момент я не нашел способа записать ссылку на точку родительского узла, используя сериализацию объекта с использованием протокола NSCoding

Мой класс узла

@interface FNode : NSObject 
{
@private
    NSString* name;
    NSObject* data;

    FNode* parent;
    NSMutableDictionary* childs;
}

@property (retain) NSString* name;
@property (retain) NSObject* data;

@property (assign)FNode* parent;
@property (retain)NSMutableDictionary* childs;

@end

На данный момент я создаю все данные в дереве как NSArray до того, как кодирую их, а при декодировании я беру NSArray данных и создаю дерево.

Мне просто интересно, есть ли лучший подход к этой проблеме… Я ценютвоя мысль.

1 Ответ

0 голосов
/ 21 августа 2011

Почему вы сначала строите этот массив? Каждый узел должен знать о самой кодировке, включая дочерние (но не родительский, потому что у вас будет цикл). Тогда вы просто кодируете дерево, сохраняя корневой узел. Это кодирует все дерево.

При декодировании вы можете установить родительскую ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...