Ich muss eine Art von Archivierungsfunktionalität zu einer Objective-C-Trie-Implementierung hinzufügen (NDTrie auf Github), aber ich habe sehr wenig Erfahrung mit C und seine Datenstrukturen.Serialize-Struktur mit Zeigern zu 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
Was ich brauche ist ein NSData
mit der Baumstruktur aus dieser Wurzel zu schaffen - oder serialisiert/deserialisiert dem ganzen Baum eine andere Art und Weise (? Konform NSCoding
), aber ich habe keine Ahnung, wie man mit NSData
arbeiten und eine C-Struktur, die Zeiger enthält.
Die Deserialisierung des resultierenden Objekts wäre von entscheidender Bedeutung, da es sich um ein iPhone-Projekt handelt, das ich bei jedem Start der App in den Hintergrund laden muss.
Was wäre der beste Weg, dies zu erreichen?
Danke!
Das Problem ist, mein Datensatz ist ziemlich groß, und im Moment kann ich nicht sowohl die temporäre NSArray und die tatsächliche Trie Datenstruktur auf dem Gerätespeicher passen - auch es ist einfach zu langsam, um beide Strukturen zu erstellen. Deshalb habe ich nach einer Möglichkeit gesucht, dieses Array-Re-Creation zu überspringen und das eigentliche Trie-Modell zu serialisieren. – leolobato