我使用Realm.io创建了以下对象。 一个简单的文件夹,带有嵌套的子文件夹
当我调用subFolders时,我只需获取所有子文件夹,就像魅力一样。但是,如果我获取一个子文件夹,我如何获得该对象的父文件夹?又名,导航回来..
RLM_ARRAY_TYPE(Folder) @interface Folder : RLMObject @property (nonatomic, strong) NSString *name; @property RLMArray *subFolders; @end ... ... ... [folder.subFolders addObject:subFolder];
答案 0 :(得分:0)
您必须在Folder和SubFolder对象之间建立关系。假设SubFolder是RLMObject,则在对象中具有folderId属性。这将让您获取SubFolder的文件夹。这就像关系数据库中的外键一样。
答案 1 :(得分:0)
[obj linkingObjectsOfClass:@"Folder" forProperty:@"subFolders"]
将为您提供Folder
个数组包含subFolders
的所有obj
个对象的数组。如果您知道只有一个并且想要一个方便的属性来访问它,您可以执行以下操作,以便能够执行folder.parentFolder
:
@property (nonatomic, readonly) Folder *parentFolder;
...
- (Folder *)parentFolder {
return [obj linkingObjectsOfClass:@"Folder" forProperty:@"subFolders"].firstObject;
}