2011-08-17 15 views
0

我需要序列化樹節點,截至目前我沒有發現任何方式使用對象序列化使用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數據並創建樹。

我只是想知道有沒有更好的方法來解決這個問題......我很欣賞你的想法。

回答

0

爲什麼你先建立這個數組?每個節點都應該知道編碼本身,包括孩子(但不是父母,因爲你會有一個循環)。您只需通過存儲根節點來對樹進行編碼。編碼整個樹。

解碼時,可以設置父參考。

相關問題