我刚刚开始在我的iOS应用程序中使用Realm进行缓存。该应用程序是一家商店,有商品。当用户浏览商品时,我将商品添加到数据库中。然而,由于这些项目不会永远可用,因此将它们保留在数据库中超过某个时间点(比方说24小时)就没有意义了。有没有一种首选方法可以在一段时间后批量处理过期对象?还是最好添加日期属性并在每次应用启动时查询这些对象? 最佳答案 Realm本身没有默认的缓存过期机制,但是就像你说的,给每个对象添加一个NSDate属性,然后简单地执行一个查询来检查对象的日期是一件相对微不足道的事情属性在您的应用程序中定期超过24小时。两
所以我创建了一个新版本的数据模型,并使以前可选的字段成为非可选字段(给它一个默认值)。根据文档,这应该意味着我的迁移符合轻量级自动迁移的条件。我还根据文档添加了允许在打开商店时执行此操作的选项:NSDictionary*options=[NSDictionarydictionaryWithObjectsAndKeys:[NSNumbernumberWithBool:YES],NSMigratePersistentStoresAutomaticallyOption,[NSNumbernumberWithBool:YES],NSInferMappingModelAutomaticallyO
我应该如何更新Realm中的对象?似乎无法在编辑/更新对象上找到任何内容。有任何想法吗?谢谢 最佳答案 这里是thedocumentationonupdatingobjectsinRealm.这里是更新对象的另一种选择,而不是其他答案中讨论的选择。很多时候,当我想更新对象时,我真的只需要更新一个或两个属性,关于Realm的一个烦人的事情是持久化对象的属性更改需要包装在写事务中,所以我通常向我的对象添加一个包装器方法以稍微清理界面:@implementationSomeRealmClass-(void)update:(void(^)(
我想知道是否有人知道Realm(https://realm.io/)是否像CoreData一样提供撤消/重做的等效性? 最佳答案 大约一年前,thispost提到他们仍在使用CoreData的原因之一是CoreData中存在undo。Realm团队成员尚未解决此问题,但当前版本不包含此功能。已作为功能请求提出here. 关于ios-Realm是否像CoreData一样提供撤销/重做?,我们在StackOverflow上找到一个类似的问题: https://st
我有一个“人”类:RLMObject。现在这个类有一个属性“Dog”:RLMObject。当我从Realm中删除“Person”对象时,它不会自动删除与之关联的“Dog”。Realm有没有和CoreData一样的删除规则?帮我解决这个问题。谢谢! 最佳答案 我们实际上正在开发该功能,但在最终发布之前,您必须先手动删除Dog,然后再删除Person。干杯, 关于ios-使用级联关系删除Realm中的对象,我们在StackOverflow上找到一个类似的问题: h
尝试使用新的realm-swift-0.92.3,我无法让这个“运行脚本阶段”工作。我按照here中的说明进行操作.根据说明,我的运行脚本条目是(见下图):不幸的是,我在尝试编译时仍然收到以下错误消息(见下文)。还有什么问题???bash:/Users/XXX/Library/Developer/Xcode/DerivedData/MyAppglnkfueqyjbdhurfurfkip/Build/Products/Debug-iphonesimulator/MyApp.app/Frameworks/RealmSwift.framework/strip-frameworks.sh:没有
像这样通过传递字典来创建新的模型对象letarticle=Article(value:json)文章对象是importRealmSwiftimportFoundationclassArticle:Object{dynamicvarid=0我每次都会收到这个错误Terminatingappduetouncaughtexception'RLMException',reason:'Invalidvalue'173'forproperty'id'' 最佳答案 (免责声明:我为Realm工作)如果字典中项目的数据类型与Realm属性的预期数据
现在我正在从Swift1.2迁移到Swift2.0。我正在从事的项目使用Realm作为数据库。在设备和模拟器上,Swift1.2一切正常。但是在设备上运行应用程序时,我在Swift2.0中遇到了这个错误:fatalerror:'try!'expressionunexpectedlyraisedanerror:ErrorDomain=io.realmCode=1"open()failed:Operationnotpermitted"UserInfo=0x145e2bc0{ErrorCode=1,NSLocalizedDescription=open()failed:Operationno
我如何保证在访问Realm之前完成Realm迁移?迁移Realm数据库并开始读/写Realm似乎存在竞争条件。这是我的问题:目前,我在用户启动应用程序时使用迁移关闭来设置Realm配置。使用RLMRealmConfiguration.setDefaultConfiguration(config)设置Realm配置后,我设置RootViewController并开始访问Realm数据。但是,当需要迁移时,有时会在迁移完成之前访问Realm-导致崩溃(RLMException:对象已被删除或无效)。如果迁移是一个没有回调的异步任务,我们如何保证它在访问Realm之前完成?这是我的Realm
在提交应用程序进行Beta审核后,它会因在iPad上启动时出现空白屏幕而被拒绝。我已经在多个iPhone和模拟器上进行了测试,但无法重现任何内容。重现这一点的唯一方法是按下Testflight应用程序本身内的“打开”按钮。按主屏幕上的图标始终有效(即使在iPad上因测试飞行而崩溃)。通过USB连接时,我检查Xcode设备中的日志:...:[Crashlytics]Version3.7.0(102)...:[Crashlytics:Crash]Warning:NSUncaughtExceptionHandleris'_ZZ34RLMInstallUncaughtExceptionHand