Necesito agregar algún tipo de funcionalidad de archivo a una implementación de Objective-C Trie (NDTrie en github), pero tengo muy poca experiencia con C y sus estructuras de datos.Serializar struct con punteros a 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
Lo que necesito es crear una NSData
con la estructura de árbol de la raíz - o serializar/deserializar el árbol entero de alguna otra manera (? Conforme a NSCoding
), pero no tengo ni idea de cómo trabajar con NSData
y una estructura C que contiene punteros.
El rendimiento en la deserialización del objeto resultante sería crucial, ya que este es un proyecto de iPhone y tendré que cargarlo en segundo plano cada vez que se inicie la aplicación.
¿Cuál sería la mejor manera de lograrlo?
Gracias!
El problema es que mi conjunto de datos es bastante grande, y en este momento no puedo ajustar tanto el NSArray temporal como la estructura de datos actual en la memoria del dispositivo; también es demasiado lento para crear ambas estructuras. Es por eso que estaba buscando una forma de saltear esta recreación de matriz y serializar el modelo actual de trie. – leolobato