草庐IT

swift - 变量重置为 Realm 中的默认值

在RealmSwift中,我有一个对象,消息。我正在使用ObjectMapper从REST服务映射其属性。我还想要一个本地属性dynamicvarread:Bool=false来跟踪用户是否已阅读消息。try!realm.write({m.read=true})我可以在RealmBrowser中看到更新的值。然而,每次我从服务中获取对象时,变量都会重置为其默认值。我确定我做错了什么,但我不确定它是RealmSwift还是ObjectMapper。有什么想法吗? 最佳答案 我对为什么会发生这种情况的假设是,当您从服务器获取对象时,您会

swift - 带有 NSData 变量的 Realm 对象,在展开可选值时意外发现 nil

将NSData变量添加到我的Realm模型后出现错误:fatalerror:unexpectedlyfoundnilwhileunwrappinganOptionalvalue当我不使用NSData值时,不会出现此错误。这是我的简单项目(Item.swift)classItem:Object{dynamicvarName:String=""dynamicvarAdress:String=""dynamicvarimage:NSData=NSData()}我在返回dataSource.Count时收到此错误:vardataSource:Results!letitemDetailSegue

swift - 针对不同对象的多个 Realm 查询

我想创建一个完整的数据库搜索,返回一个Results类型的对象.我有一个类A从Realm继承的Object然后是从该子类继承的许多其他类。像这样:classA:Object{}protocolZ{}classB:A,Z{}classC:A,Z{}classD:A,Z{}...现在我想同时查询不同的类,我正在做这样的事情:privatefuncgetResults(withTypestypes:[T.Type]){fortypeintypes{letfoundIds=getRealm().objects(type).filter(aPredicate)ids.append(content

ios - 从未加密 Realm 迁移到加密 Realm

我正在尝试从未加密Realm迁移到加密Realm,但我不知道如何以及在何处使用Realm().writeCopy(toFile:url,encryptionKey:key)。甚至还有其他方法。谢谢。 最佳答案 我找到了一种方法,您可以在下面找到它:privatestaticvarrealm:Realm!{//GettheencryptionKeyvarrealmKey=Keychain.realmKeyifrealmKey==nil{varkey=Data(count:64)key.withUnsafeMutableBytes{(b

ios - 执行从一个列表到另一个列表的 Realm 迁移

在我的模型中,我想迁移一个List该项目包含自定义类产品的位置,例如:classItem:Object{dynamicvarproduct:Product?}只是一个List我尝试了不同的方法,但似乎没有任何效果。例如这样的事情:letitems=oldObject.dynamicList("items")foriteminitems{letoldProduct=item["product"]as!MigrationObjectproductList.append(oldProduct)}这会导致一个错误,指出该对象已被持久化。如果我在迁移block中创建一个新产品,我的Realm中将

ios - Realm swift : Can we implement two filter queries in single line statement?

我想像android一样在单行语句中实现filter的realm查询安卓:RealmResultscontactList=realm.where(Contact.class).equalTo(Contact.IS_FORMATTED,Boolean.TRUE).equalTo(Contact.IS_NEW_CONTACT,Boolean.TRUE).findAll();swift:我们如何在swift单行语句中实现上述查询? 最佳答案 letcontactList=realm.objects(Contact).filter("IS_

swift - 让 Realm 和 Unbox 玩得更好

我正在学习在Swift中解析来自Android/Java的JSON,我正在使用JohnSundell的Unbox来帮助我解决这个问题,这让我想起了GSON。引用:Unboxpod我使用Realm作为数据库在本地存储数据。引用:Realm.io如果能找到一个用JSON解析类并保存到Realm的工作流就好了。我不想有一个实现Unboxable的结构和一个实现Object(Realm)的类,因为那样我就必须反射(reflect)这两者。这对我当前的项目来说不算太多,但有点难看...你们中有人尝试过类似的工作流程吗? 最佳答案 我认为您不需

ios - 向 Realm 结果数组添加通知

刚开始在iOS项目中使用Realm,我查看了示例和文档,但似乎无法弄清楚如何为一系列Realm结果获取细粒度的通知。例如,如果它只是一个Results对象,您可以这样做//ObserveResultsNotificationsnotificationToken=results.addNotificationBlock{[weakself](changes:RealmCollectionChange)inguardlettableView=self?.tableViewelse{return}switchchanges{case.initial://Resultsarenowpopula

ios - Realm 对象字段有时为零

我对Realm中的对象有一个奇怪的问题。当我从Realm数据库中获取一个对象时,有时它的一些字段(它只发生在RealmOptionals上)在访问它们之后为nil。但这真的很奇怪,因为如果我在访问那些字段之前放置一个断点,然后我在lldb上执行poobject.field,那么nil字段就会消失。我已经看到,也许我忘记了将这些字段设置为“动态”,但在我的情况下,按照Realm文档,我必须使用RealmOptional作为可选bool值。有谁知道这里的问题是什么?提前致谢。编辑:我用来从Realm中检索和对象的方法是:funcgetObject(atPositionposition:In

swift - 运行我最近的 Realm 迁移挂起

所以我向我的一些模型添加了一些新属性,并且在模拟器中,只需调用它就可以了:setSchemaVersion(7,realmPath:Realm.defaultPath){migration,oldSchemaVersioninifoldSchemaVersionVoidinnewObject!["weighted"]=true})}}但是当我尝试在设备上运行它时,它只是挂起。我尝试注释掉新的迁移,我正确地得到了需要进行迁移的错误消息(我以前的模式版本是6),但是当我重新添加新的迁移时,我的应用程序只是挂起并且从未真正调用迁移block。知道这可能是什么吗?有没有办法在不完全重置我的Re