我在我的应用程序中使用Realm来处理持久化数据到磁盘。为了返回保存在Realm中的对象,我使用RLMResults成功返回保存在我的数据库中的对象RLMResults*cats=[CatallObjectsInRealm:myRealm];问题是我无法知道此操作何时完成。在继续之前,我需要我的网络请求等待此查询完成。Realm文档不是很详尽,我看不出有什么方法可以让我知道此读取操作何时完成。是否有某种可用的完成block? 最佳答案 Realm的查询API是同步的,它们返回的结果可立即用于调用代码。
如何从RLMResults中删除对象。我的意思是在NSMutableArray中有一个类似的函数[self.dogsremoveAllObjects]RLMResults或RLMArray有类似的函数吗? 最佳答案 对于带有removeAllObjects的RLMArray存在这样的方法.这意味着您取消该对象与数组中所有其他链接对象的关联。RLMResults没有这样的方法,因为此类的实例始终代表查询的最新状态,只有在修改基础数据时才能改变它。因此,如果您查询列表,则可以通过从列表中删除对象来隐含地实现这一点。如果您查询所有对象(/
我有需要迭代的RLMResults,做一个可能“长时间运行”的下载任务(足够长的时间它不应该在主线程上),并用这个下载的结果更新每个对象。我尝试的最新迭代(在搜索文档寻找答案后)是这样的,虽然这显然不能按预期工作,但它是演示目的的起点:RLMResults*objectsToSaveImagesFor=[selfallObjectsToSaveImagesFor];for(Object*objectinobjectsToSaveImagesFor){RLMThreadSafeReference*objectRef=[RLMThreadSafeReferencereferenceWith
我一直在尝试按2个属性对RLMResults进行排序,第一个是排序值,第二个是名称,但没有成功。当我尝试使用2个属性进行排序时,我得到了错误的结果。我想要的是使用排序值对结果进行排序,然后按字母顺序排序。self.allTasks=[[[TaskallObjects]sortedResultsUsingProperty:@"priorityLevelSortValue"ascending:YES]sortedResultsUsingProperty:@"taskName"ascending:YES];任何帮助将不胜感激。谢谢。 最佳答案
objectiveC中如何将RLMResults的数据放入NSArray中,请指教。 最佳答案 正是ElCaptain所说的。无法将RLMResults对象自动转换为NSArray;你必须自己做。RLMResults*results=...;NSMutableArray*array=[NSMutableArrayarray];for(RLMObject*objectinresults){[arrayaddObject:object];}话虽如此,您应该问问自己这是否真的有必要。Realm通过RLMResults(例如,仅在访问时延迟
objectiveC中如何将RLMResults的数据放入NSArray中,请指教。 最佳答案 正是ElCaptain所说的。无法将RLMResults对象自动转换为NSArray;你必须自己做。RLMResults*results=...;NSMutableArray*array=[NSMutableArrayarray];for(RLMObject*objectinresults){[arrayaddObject:object];}话虽如此,您应该问问自己这是否真的有必要。Realm通过RLMResults(例如,仅在访问时延迟
我正在使用objectsWhere查询RLMArray,我得到了一个RLMResults,但我需要一个RLMArray,其结果在我的代码中。privatevardata:RLMArray?self.data=self.currentSubcategory!.datasheets//isaRLMArrayself.data=self.data!.objectsWhere("is_favourite=1") 最佳答案 RLMArrayhasbeensplitintotwoclasses:RLMArrayandRLMResults.RLM
我正在使用objectsWhere查询RLMArray,我得到了一个RLMResults,但我需要一个RLMArray,其结果在我的代码中。privatevardata:RLMArray?self.data=self.currentSubcategory!.datasheets//isaRLMArrayself.data=self.data!.objectsWhere("is_favourite=1") 最佳答案 RLMArrayhasbeensplitintotwoclasses:RLMArrayandRLMResults.RLM
我试图通过使用NSPredicate进行过滤来获取两组Realm数据(并且是不同的对象)之间的差异,但是出现了一个我无法理解的错误。我的代码:RLMResults*topStories=[KFXTopStoryallObjects];NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"NONEthreadId=%@.topStoryId",topStories];RLMResults*objectsToDelete=[KFXThreadobjectsWithPredicate:predicate];错误:***Terminat
Realm文档说RLMResults是NSArray。我从数据库返回了一些结果,我想将其合并到另一个RLMResults中。但它似乎是不可变的,如何使RLMResults添加来自另一个RLMResults的对象?或者让它可变?或者将其转换为NSArray? 最佳答案 目前,这是您必须手动执行的操作。您可以通过连接两个结果来创建RLMArray。不过,我们正在为相同类型的RLMObjects的路线图进一步讨论联合/合并方法。您可以分享的任何内容都将帮助我们理解用例并可能影响API设计只要是相同的类型,这里举个通用的例子letcurre