领域分层结构

时间:2015-09-02 09:12:24

标签: ios objective-c realm

我正在检查在下一个Objective-C项目中使用Realm的可能性。 是否可以为分层对象创建结构?例如文件夹和文件系统文件?

例如,如果我想定义如下结构:

- Web Site
 - Folder 1
   - F1_File1
   - F1_File2
   - F1_File3
   - F1_Folder1
     - F1_Sub_File1
     - F1_Sub_File2
 - Folder 2
   - F2_File1
   - F2_File2
   - F2_File3
   - F2_Folder1
     - F2_Sub_File1
     - F2_Sub_File2

我该如何处理这种情况? 是否可以执行查询以检索特定节点的整个结构? 例如,给定F2_Folder标识符,我想要检索父结构或其子节点。有可能吗?

你能指点我一个正确方向的教程吗? 非常感谢你

1 个答案:

答案 0 :(得分:3)

在Realm中,一旦检索到特定对象,就可以在实际查询它们时检索父对象和子对象。领域以懒惰的方式表现。例如,你有这个Realm对象:

@interface File : RLMObject
@property NSString *name;
@property File *parent;
@property RLMArray<File*><File> *children;
@end

// Retrieve a particular Object
File *obj = [File objectsWithPredicate:[NSPredicate predicateWithFormat:@"name = %@", @"F2_Folder1"] firstObject];

// Retrieve the children
RLMResults children = obj.children;

// Retrieve the parent
File *parent = obj.parent;