3

如何从 RLMResults 中删除对象。我的意思是在 NSMutableArray 中有一个类似的函数

[self.dogs removeAllObjects]

RLMResults 或 RLMArray 有类似的功能吗?

4

3 回答 3

1

这样的方法存在于RLMArraywith 中removeAllObjects。这意味着您将对象与数组中的所有其他链接对象取消关联。

没有这样的方法RLMResults,因为此类的实例始终代表查询的最新状态,只有在修改基础数据时才能对其进行变异。因此,如果您在列表上进行查询,则可以通过从列表中删除对象来隐含地实现这一点。如果您查询所有对象(/表),那么您需要从领域中删除对象或修改它们以使它们不再与您的查询匹配。

于 2016-06-27T15:28:46.013 回答
1

将所有对象从 RLMResults 复制到 NSMutableArray 并对其进行操作。

于 2017-06-19T11:36:26.607 回答
0

你可以删除

RLMResults *tableDataArray;    
tableDataArray=[Dog allObjects];
[[RLMRealm defaultRealm] beginWriteTransaction];
//Deleting All Objects 
[[RLMRealm defaultRealm]deleteAllObjects];
//Remove particular object
[[RLMRealm defaultRealm]deleteObject:[tableDataArray objectAtIndex:indexPath.row]];  // I use this in didSelectRowAtIndexPath
[[RLMRealm defaultRealm] commitWriteTransaction];

用于添加

RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
Dog *dog = [[Dog alloc] init];
dog.name=@"Puppy";
dog.city=@"New York";
[realm addObject:dog];
[realm commitWriteTransaction];

用于更新

RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
dog.name=@"Rosie";
dog.city=@"Washington";
[realm commitWriteTransaction];
于 2016-06-27T10:02:40.243 回答