草庐IT

iOS (Swift) 单例 Realm 对象

看完this教程我需要一些帮助来了解执行以下操作的最有效方法。当我的应用程序打开时,它需要加载一个Profile对象。由于在应用程序的生命周期中应该只有其中一个,所以我将其设置为单例。Realm似乎是保存和检索数据的好方法。进一步查看后,我似乎需要一个数据模型才能使用Realms。在尝试将Object集成到如下所示的Profile.swift中失败后,我需要一些帮助来解决我应该如何处理这个问题。我应该制作第二个类ProfileDataModel可以被Profile调用以检索和保存更改,还是有办法包含一个RealmObject进入单例类?简介.swiftclassProfile{//MA

ios - 从 Realm 中的列表中删除对象 - Swift

我有一个CollectionView,您可以在其中选择要删除的多个单元格。这意味着如果删除了多个单元格,那么Realm中也应该删除多个对象-每个单元格1个对象。我有一个函数,它接受一个Int数组,该数组将从CollectionView的选定indexPaths中填充。问题是我不确定如何同时做这两件事1)删除Realm和中的对象2)更新List且没有删除的对象我的代码是:我得到的索引路径是这样的:让indexPaths=collectionView.indexPathsForSelectedItems这是我的函数,用于获取indexPaths、更新List并删除Realm中的对象。它目前

swift - Realm :返回 LazyFilterCollection 的谓词 - 如何转换为 Results<T>?

我正在使用NSPredicate过滤我的数据库查询s直接在数据库上,但我想更进一步并使用自定义谓词过滤返回值(Results):elements.filter{(element)->Boolinreturn...}这个返回一个LazyFilterBidirectionalCollection-我怎样才能使用它并再次获得结果? 最佳答案 我们正在跟踪在GitHubissue#2138中添加对基于block的谓词的支持.这将允许您在Realm的内置原语支持的范围之外执行自定义过滤。如果您有时需要使用Results其他时候使用LazyFi

ios - 如何在 Realm Swift 中将子类添加到 List<superclass>

我有一个继承自Object的名为Thing的父类(superclass)(我知道它不是特定的):classThing:Object{dynamicvartitle:String=""varparents:[Thing]{returnlinkingObjects(Thing.self,forProperty:"children")}letchildren=List()}以及名为Task和Thought的两个子类。但是,当我这样做的时候someThing.children.append(Task())它抛出“对象类型不正确。”我做错了什么?Realm是否不允许父类(superclass)列

swift - Realm swift : always put nil values last in sort

我正在使用Swift2.2编写一个针对iOS8并使用Realm的应用程序。我允许用户使用Results.sorted(_:ascending:)根据各种可选属性对对象进行排序。这对于降序排序非常有效,但对于升序排序,nil值放在第一位,这看起来不正确。许多数据库系统都有一个NULLSFIRST/LAST选项,使用CoreData,看起来有可能subclassNSSortDescriptor.在Realm中排序时,有没有办法始终将nil值放在最后?即使只有一个hacky策略,也将不胜感激。 最佳答案 除了Results.sorted(

ios - 我们可以在后台队列中生成 Realm 结果并在主线程上使用吗

我最近开始使用Realm,我不确定我的用例是否有效:通常,当从数据库中读取大量数据时,我想将其放入后台队列中,以便异步获取数据并稍后在主线程中使用它。例如,我想根据城市获取几个结果:privatevarresults:[Results?]=[]autoreleasepool{DispatchQueue(label:"background").async{[unownedself]indo{letrealm=tryRealm()foriin1...City.count{self.results.append(realm.objects(SomeObject.self).filter("c

ios - 我可以与应用组共享 iOS Realm 数据库吗?

我可以与应用组共享iOSRealm数据库吗?如果是,如何?如果没有,我如何将我的Realm数据库共享给我的其他应用程序? 最佳答案 要在同一iOS应用组中的应用之间共享Realms,您需要为Realm指定一个公共(public)位置:letfileURL=FileManager.default.containerURL(forSecurityApplicationGroupIdentifier:"group.io.realm.app_group")!.appendingPathComponent("default.realm")le

ios - thread 和 Realm 怎么处理? (iOS)

我使用Realm来存储我的模型对象。在我的对象中,我有一个函数可以从它自己的属性值生成NSData。这一代可能会很长,所以我想在一个带处理程序block的线程中生成我的NSData。我的问题是Realm数据访问只能在Realm创建实体(实际上是主线程)上进行。因此,当我在线程中访问我的RealmObject属性时,应用程序崩溃。根据Realm规范,这是正常的。但是,根据Realm限制在线程中生成NSData的最佳解决方案是什么?其实我有两个想法:创建一个特定于Realm的调度队列,并将我所有的Realm访问写入该队列在临时结构(或一组变量)中获取所有需要的属性,并使用此结构/变量在线程

ios - 检查 Realm 对象是否被删除

Realmjava有一个函数isValid()来检查realm对象是否被删除/无效。在realmswift中有没有类似的查找功能?更新这些对象时,我经常遇到“Realm对象已被删除或无效”的崩溃。 最佳答案 AnobjectcannolongerbeaccessediftheobjecthasbeendeletedfromthecontainingrealmorifisInvalidatediscalledonthecontainingrealm.这是theDocumentationObject.isInvalidated的。添加o

ios - Realm swift : Is it possible to keep database after the apps is uninstalled?

使用realmswift,是否可以在应用程序从设备上卸载后在设备内存中保留和维护应用程序的Realm数据库文件?非常感谢您的帮助。 最佳答案 遗憾的是没有。这是iOS的限制,而不是Realm的限制。当从设备上卸载iOS应用程序时,所有与其关联的文件(包括任何Realm文件)都会被删除。如果您希望文件数据在应用程序被删除后仍然存在,您需要查看云托管解决方案以保留这些文件的副本。在这种情况下,最简单的很可能是CloudKit. 关于ios-Realmswift:Isitpossibletok