这是最常见的"一般"使用RealmSwift实现树结构的方法?

时间:2015-07-17 20:59:46

标签: swift realm

对于领域的新手,我想知道如何使用RealmSwift构建树结构...

我倾向于认为这是对文件系统文件夹创意的模仿,所以

class Folder: Object {
    dynamic var record = false
    dynamic var uuid = ""
    dynamic var title = ""
    let members = List<Folder>()
}

class Root: Object {
    dynamic var uuid = ""
    dynamic var title = "/"
    let members = List<Folder>()
}

我只有一个Root,然后会实现各种树行走,文件夹操作等等。如果Folder.record为false,则文件夹节点为&#34;目录&#34;如果为真,则文件夹节点为&#34;文件&#34;

哦RealmSwift的巫师,我是否正在使用RealmSwift构建树结构?

1 个答案:

答案 0 :(得分:5)

如果你想模拟一个包含文件和文件夹的文件系统,那么这样做可能会更简单:

class File: Object {
    dynamic var uuid  = ""
    dynamic var title = ""
}

class Folder: Object {
    dynamic var uuid  = ""
    dynamic var title = ""
    let files   = List<File>()
    let folders = List<Folder>()
}

您可以使用第一个第一个Folder对象(可以realm.objects(Folder).first()访问),而不是显式的根类。