在第一次打开应用程序时加载trie

时间:2017-04-18 21:12:32

标签: objective-c

我正在使用自定义ios键盘。对于单词词典,我已经实现了自动更正的trie。 Trie也在目标c中编码。我有100k的单词表。我想在应用程序第一次打开时加载trie,它应该永久存储。有可能吗?

1 个答案:

答案 0 :(得分:0)

加载一次只下载一次是什么意思?

鉴于您下载了数据(让我们假设它是来自互联网的txt),您可以构建您的trie并通过NSKeyedArchiver进行序列化并恢复它。

Trie *wordsTrie = [[Trie alloc]initWithUrl:@"https://www.internet.com/words.txt"]];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:wordsTrie];

/* persist the data ... */

Trie *restoredWordsTrie = [NSKeyedUnarchiver unarchiveObjectWithData:data];

有关归档对象的更多信息,请访问: https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Archiving.html