草庐IT

swift - Swift 中 Realm 实例的全局使用

在我使用Realm的每个ViewController中,我将Realm作为属性添加到每个类://Whatevs.swiftclassWhatevs:NSViewController{letrealm=try!Realm()}然后我通过self.realm在整个类(class)中引用它。有什么理由不让它像这样成为全局可用的实例吗?//Global.swift 最佳答案 实际上,如果可以的话,通常根本不鼓励卡在Realm实例上。:)一旦在特定线程上调用了Realm(),该实例将被Realm内部缓存,并且相同的实例将在后续的Realm()

swift - Realm Swift 如何在结果更新时得到通知

我正在使用Realm结果对象Result作为uitableview的数据源.在不同的ViewController中有一些延迟的API调用会加载更多AnObject对象。我想要的是在更新我的数据源以更新TableView时得到通知。我做了一些搜索,知道我需要使用KVO,但是我找不到任何关于如何将它与realm一起使用的示例。我的代码如下所示:classmyViewController:UIViewController,UITableViewDatasource{letrealm=try!Realm()overridefuncviewDidLoad(){super.ViewDidLoad(

ios - Realm 查询属性(property)总和

我正在使用RealmSwift,我有一个名为Book的Realm对象Book=====title:StringpageCount:Int当应用程序启动时,我使用以下方式获取所有书籍:allBooks=realm.objects(Book)一本书有一个名为pageCount的Realm属性我想了解如何获得所有书籍的总页数?所以如果我有3页的A书、11页的B书和0页的C书,则总数将为3+11+0=14我更喜欢用查询来做,而不是遍历所有的书 最佳答案 您可以获得所有书籍对象的总页数,如下所示:lettotalPages:Int=realm

ios - 将 JSON 导入 Realm.io

我刚开始使用Realm,主要是为了能够用数据预填充我的应用程序。所以我认为最简单的方法是将现有的JSON文件导入我的应用程序,但我遇到了一些问题。我要导入的文件格式如下:{"DDD":"3DSystemsCorporation","MMM":"3MCompany","WBAI":"500.comLimited","WUBA":"58.comInc.","AHC":"A.H.BeloCorporation","ATEN":"A10Networks,Inc.","AAC":"AACHoldings,Inc.","AIR":"AARCorp."}我想把它变成一个Dictionary或NSMu

ios - 根据 RLMArray 属性的大小查询所有对象的 Realm ?

我们正在尝试编写一个Realm查询来检索RLMArray属性大小为特定数字的所有对象。Realm模型如下所示:classFoo:RLMObject{dynamicvarpeople=RLMArray(objectClassName:User.className())}我们已经尝试过但没有成功的查询的多次迭代如下://'Invalidpredicateexpressions',reason:'Predicateexpressionsmustcompareakeypathandanotherkeypathoraconstantvalue'letresults=Foo.objectsWher

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中将