我正在构建一个Trie树,它将具有大约27000个节点。我不想每次在应用程序启动时重新创建它,我都想坚持下去。由于子属性是另一个节点的字典,因此我无法使用NSCoding
将其归档并存储在核心数据实体中。有没有办法将这个节点存储在Core Data中?或者我应该使用不同类型的持久性?使用Swift在iOS中保持27000个节点的trie数据树的方法是什么?
class TrieNode {
var letter:Character
var fullWord:Bool
var leadingLetters:String
var child = [Character:TrieNode]()
init (letter:Character, leadingLetters:String, fullWord:Bool) {
self.letter = letter
self.fullWord = fullWord
self.leadingLetters = leadingLetters
}
}
主要的问题我在尝试使用核心数据是如何var child = [Character:TrieNode]()
转换为NSData的或CD可以在实体存储其他可用的类型。如何做到这一点的例子,将不胜感激。
你不想将它存储为'NSData'。只需为'TrieNode'创建数据模型并为其创建一个'NSManagedObject'。 –
然后我如何存储儿童财产?它不会让我编译'[Character:TrieNode]()'作为'NSManagedObject'。 – Edan
请仅查看Core Data。如果你自己付出一些努力,我们会很感激。本网站不是为了教育您使用它,而是为了帮助您解决特定问题。 –