je dois ajouter une sorte de fonctionnalité d'archivage à une mise en œuvre Objective-C Trie (NDTrie sur github), mais j'ai très peu d'expérience avec C et il est des structures de données.struct sérialisation avec des pointeurs vers NSData
struct trieNode
{
NSUInteger key;
NSUInteger count,
size;
id object;
__strong struct trieNode ** children;
__strong struct trieNode * parent;
};
@interface NDTrie (Private)
- (struct trieNode*)root;
@end
Ce que je besoin est de créer un NSData
avec la structure de l'arbre de cette racine - ou linéariser/désérialiser l'arbre entier d'une autre manière (? Conforme à NSCoding
), mais je n'ai pas la moindre idée comment travailler avec NSData
et une structure C contenant des pointeurs.
Performance sur désérialisation l'objet résultant serait crucial, car cela est un projet iPhone et je besoin de le charger en arrière-plan à chaque fois que l'application commence.
Quel serait le meilleur moyen d'y parvenir?
Merci!
Le problème est mon ensemble de données est assez grand, et en ce moment je ne peux pas l'adapter à la fois la NSArray temporaire et la structure de données arborescente réelle sur la mémoire de l'appareil - aussi il est tout simplement trop lent pour créer deux structures. C'est pourquoi je cherchais un moyen d'ignorer cette recréation et de sérialiser le modèle réel. – leolobato