草庐IT

ios - 如何在 Swift 4 中保留 Realm List 属性?

使用Swift4和Realm3.0.1,我想将Realm对象列表存储在父Realm的属性中目的。我遇到了以下问题:在Swift4中,应该持久化到Realm中的属性必须是@objcdynamic,例如@objcdynamicvarid:String="".但是,Realm的Array替换类型,List,不能这样存储:@objcdynamicvarchildren:List?=nil导致此编译器错误:Propertycannotbemarked@objcbecauseitstypecannotberepresentedinObjective-C有关更多上下文,这是一个完整的示例:final

ios - 从 Realm 中删除模型,但让对象保持事件状态

让我们举个例子:我们与一组动物一起工作。假设我们不需要将所有动物都保存在数据库中,并且有一个逻辑可以控制在数据库中添加和删除动物。例如,我有一个对象,一匹马,其字符串属性name为“Suey”,我使用addObject:将她添加到Realm。所以现在我们将这个对象保存到Realm中。此对象有效,我们可以执行horse.name,这将返回“Suey”。接下来我需要从DB中删除Suey。我执行deleteObject:。但遗憾的是,它不仅删除了关于马的持久信息,而且还使我的对象无效。Suey基本上已经死了,所以如果我想让她回到DB中,我需要从头开始创建另一匹马,只有在那之后我才能在DB中拥

ios - 无法将 Realm 与 iCloud 同步

我正在尝试将我的应用程序中的Realm与iCloud/CloudKit同步,但没有成功...这是我的源代码:-(void)sync{NSURL*baseURL=[[NSFileManagerdefaultManager]URLForUbiquityContainerIdentifier:nil];if(baseURL)//iCloudisactive{NSURL*serverURL=[NSURLURLWithString:@"http://myMacBookNwtworkIP:9080"];//RealmObjectServerisupandrunningatthisURLRLMSyn

ios - 如何删除 Realm 中的对象?

Realm中的删除似乎记录不足……或者我遗漏了什么?如何从列表中删除对象?例子在哪里?我有一个带有列表的对象A。我有另一个对象B也有一个列表C有一个引用备份到它的父A我想删除一个B及其所有子对象C。如果我删除一个C,我也想将它从其父集合A中移除。我很难过......并且发现Realm文档只提供了两个例子令人难以置信:try!realm.write{realm.delete(cheeseBook)}try!realm.write{realm.deleteAll()} 最佳答案 首先,您永远不需要手动实现从子项到其父项的引用。Realm

iOS Realm 按日期分组到 tableView 部分

我有Realm数据库,其中包含数据和添加此数据的日期。我想提取它并将日期设置为TableView部分标题,将数据设置为每个部分的行数据取决于日期。我知道如何提取但不知道如何按日期分组并根据日期为每个部分设置数据。谢谢! 最佳答案 Swift4使用高阶函数而不是循环实现。classItem:Object{@objcdynamicvarid:Int=0@objcdynamicvardate:Date=Date()}letrealm=try!Realm()//fetchallItemssortedbydateletresults=real

ios - 删除一个 Realm 对象及其所有 RLMArrays

我正在努力删除Realm对象及其RLMArray子对象(和子子对象)!下图是当前的realm-structure(Realm-Browser截图):如您所见,当前创建了三个RLMTopoResult对象,每个对象都有86个RLMCriteria作为子数组。(不可见的是,每个RLMCriteria都有自己的RLMStatistics数组——这就是为什么RLMStatistics对象和RLMCriteria对象一样多的原因)。现在,我们的想法是删除一个RLMTopoResult(带有根据TopoNrRLM进行过滤的预测器)!我应用以下代码:-(void)removeObjects_at_T

ios - 查询 Realm 中的关系数组

假设我有一个Dog和PersonRealm对象,例如@interfaceDog:RLMObject@propertyNSString*name;@propertyNSIntegerage;@propertyRLMArray*owners;@end@implementationDog@endRLM_ARRAY_TYPE(Dog)@interfacePerson:RLMObject@propertyNSString*name;@propertyRLMArray*dogs;@end@implementationPerson@endRLM_ARRAY_TYPE(Person)这是来自Realm

ios - Realm 清理旧对象

我刚刚开始在我的iOS应用程序中使用Realm进行缓存。该应用程序是一家商店,有商品。当用户浏览商品时,我将商品添加到数据库中。然而,由于这些项目不会永远可用,因此将它们保留在数据库中超过某个时间点(比方说24小时)就没有意义了。有没有一种首选方法可以在一段时间后批量处理过期对象?还是最好添加日期属性并在每次应用启动时查询这些对象? 最佳答案 Realm本身没有默认的缓存过期机制,但是就像你说的,给每个对象添加一个NSDate属性,然后简单地执行一个查询来检查对象的日期是一件相对微不足道的事情属性在您的应用程序中定期超过24小时。两

ios - 更新 Realm 中的对象

我应该如何更新Realm中的对象?似乎无法在编辑/更新对象上找到任何内容。有任何想法吗?谢谢 最佳答案 这里是thedocumentationonupdatingobjectsinRealm.这里是更新对象的另一种选择,而不是其他答案中讨论的选择。很多时候,当我想更新对象时,我真的只需要更新一个或两个属性,关于Realm的一个烦人的事情是持久化对象的属性更改需要包装在写事务中,所以我通常向我的对象添加一个包装器方法以稍微清理界面:@implementationSomeRealmClass-(void)update:(void(^)(

ios - Realm 是否像 CoreData 一样提供撤销/重做?

我想知道是否有人知道Realm(https://realm.io/)是否像CoreData一样提供撤消/重做的等效性? 最佳答案 大约一年前,thispost提到他们仍在使用CoreData的原因之一是CoreData中存在undo。Realm团队成员尚未解决此问题,但当前版本不包含此功能。已作为功能请求提出here. 关于ios-Realm是否像CoreData一样提供撤销/重做?,我们在StackOverflow上找到一个类似的问题: https://st