草庐IT

swift - 在查询中推断类型而不是 Realm Swift 中的字符串谓词?

我正在考虑为我的应用程序从我的核心数据包装器迁移到Realm,而令人烦恼的一件事是Realm如何使用字符串作为它们的谓词,而不是在它们的查询中推断类型。例如,为什么我必须这样做:Realm().objects(Dog).filter("age而不是像这样的Swift方式:Realm().objects(Dog).filter{$0.age我遗漏了什么,或者这真的是您使用RealmforSwift的方式吗? 最佳答案 使用Swift内置的集合过滤方法比使用Realm的NSPredicate效率低查询接口(interface)。Swif

arrays - 可以使用 realm 和 swift 根据主键删除行吗?

所以我基本上有两个要比较的主ID数组。简化版:letA:Set=[1,3,5,7,9]letB:Set=[2,3,5,7]A.exclusiveOr(B).sort()//[1,2,9]我想删除结果返回的主键(所以在这种情况下,我想从我的数据库中删除主键1,2和9)。我查了Realm.io的文档,乍一看似乎没有办法删除这些主键。有没有一种方法可以只删除default.realm数据库中的主键是从A.exclusiveOr(B).sort()数组返回的那些行??提前致谢! 最佳答案 您可以通过查询对象来删除具有给定主键的对象,然后将返

swift - 如何为 Realm 构建查询对象

我正在使用Swift构建一个iOS应用程序。我正在使用Realm作为数据库。我目前正在为tableview构建搜索功能。这是我的过滤查询items=realm.objects(Book).filter(predicate).filter("stateIN{'pending','activated','completed','closed'}")我正在将用户想要过滤的状态保存在另一个名为Filter的模型中。我如何根据以下过滤器查询(标题是属性)的输出构建此{'pending','activated','completed','closed'}?这个对象叫什么?realm.objects

swift - 无法捕获 `RealmFileException: Realm file decryption failed` 异常

我依靠加密Realm将某些数据存储在用Swift编写的应用程序中。有时我会遇到这样一种情况,我会删除给定Realm并创建一个新Realm,以确保在某些状态之间不会保留任何数据。我自己跟踪加密key,因此存在我无意中尝试使用错误加密key解密Realm的风险,这会引发以下异常:libc++abi.dylib:terminatingwithuncaughtexceptionoftyperealm::RealmFileException:Unabletoopenarealmatpath'/path/to/private.realm':Realmfiledecryptionfailed.因为这

ios - 什么是最佳实践 - Realm 有序列表?

我已经使用Realm一段时间了,我对它非常满意!但是,我在实现过程中遇到了一些问题。我做了一个测试场景来尝试指出我需要输入的地方。我有一个包含Person对象数据库的Realm。这些都呈现在一个UITableView中。我想保持对象的特定顺序,并且用户应该能够对对象重新排序。从我读过的内容来看,我必须使用Realm“列表”来实现这一点。这又意味着我有一个名为Person的类和一个名为PersonList的类。PersonList只有一个属性:-list。应用程序在其Realm中应该只有一个PersonList对象,但可以有多个Person对象。我的问题:在我的Realm中只有一个Per

swift - Realm Swift 反向关系多对多

我目前正在尝试找出构建我的Realm对象以便于检索的最佳方法。我有2个对象tags和object有多个tags并且每个对象可能包含许多object。类似地,每个object可以有多个tag与之关联理想情况下,选择单个标签应该检索所有至少具有该标签(但显然可以有多个)的对象我的模型会被指定为classTag:Object{letobjects=List()}classObject{lettags=List()}我不认为我需要在这里使用反向关系,或者我应该吗?选择一个类别无论如何我都应该能够检索所有对象引用的列表,但是维护和更新对对象的引用在这里可能很困难?即用户选择标签“A”然后更新第一

ios - 从 Realm Results 转换为 Array 产生空对象

当我尝试将Results转换为SwiftArray时,属性处于默认值。假设我写了一个Request对象,如下所示:letrealm=try!Realm()try!realm.write{realm.add(request,update:true)}然后当我像这样从Realm读取它们时:letrealm=try!Realm()letrequestsFromRealm=realm.objects(Request.self)我得到的结果很好。我需要将结果对象转换为数组。我做到了:letrequests=Array(requestsFromRealm)请求对象在那里,但属性是默认值。奇怪的是,

cocoa - 如何将默认 Realm 路径设置为 App Groups 目录

我正在尝试将默认Realm路径设置为AppGroups目录。letdirectory:NSURL=NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("groups.prasanna.appName")!RLMRealm.setDefaultRealmPath(directory.absoluteString!)println(RLMRealm.defaultRealmPath())应用程序崩溃并出现以下错误Terminatingappduetouncaughtexceptio

ios - swift 和 Realm : Invalid use of '()' to call a value of non-function type 'module<Realm>'

我实际上是从Swift的官方Realm文档中复制和粘贴代码-但它无法编译:https://realm.io/docs/swift/latest/#adding-objects我正在使用Realm1.0.2文档确实自相矛盾-不同的Realm声明:letrealm=RLMRealm.defaultRealm()letrealm=Realm()letrealm=try!Realm()Realm是怎么回事?Realm和RLMRealm有什么区别?上面的第一行可以正常编译-但接下来的两行不会。 最佳答案 Iamliterallycopying

ios - 使用 Realm 保存数据数组或自定义类

我有一个包含大量信息的自定义类。这是一个位置跟踪应用程序,所以我稍后需要位置(基本上只有x、y、z,但为了方便我使用CLLocations)。现在我有一个自定义类,其中包含有关每个跟踪的所有信息,例如记录/保存文件)。我使用Realm来保存它,Realm可以很好地处理我的double和字符串,但我在处理数据数组时遇到了麻烦。我能找到的最方便的解决方案是将数据转换为NSData。在谷歌的帮助下,我找到了两种编码和解码的方法。但是我没有这方面的经验,所以我不确定它是否有效。而且我认为这行不通。我可以很好地加载double和字符串,但我的NSData似乎是空的。我曾尝试将我的类编码为NSDa