我正在检查在下一个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标识符,我想要检索父结构或其子节点。有可能吗?
你能指点我一个正确方向的教程吗? 非常感谢你
答案 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;