草庐IT

swift - 带有 Realm 的 Swift 中带有主键的新对象

背景:我对Swift非常陌生,但对一般编程也很陌生,所以提前致歉。我唯一真正的数据库经验是MySql,即使它不是那么热门。我正在通过构建一个基本的目标/习惯跟踪应用来学习Swift+Realm。任务:我有一个目标对象,其中包含一个名为“id”的主键。目标可能是“减肥”。我还有一个Streak对象,其中包括7次每日“签到”。用户设定一个目标,并每天签到。每个目标可以有多个“连续”,例如在一个7天的冲刺/连续冲刺之后,用户可以开始另一个。你也可以有多个目标。为了实现这一点,我试图复制目标的自动递增ID的功能,这也是一个主键。这也将记录在相应的Streaks中。我的问题:我遇到的问题是,当我

swift - Realm 中具有可选 Int 类型的空数据的异常抛出

我第一次尝试使用Realm(0.98.1,通过Cocoapods,Xcode7.2),遇到了一个我不确定如何解决的小问题。我有一个名为Airport的模型类,它声明了一个属性letelevationFt=RealmOptional()我正在创建一组Airport对象并以下列方式持久化它们publicfunccacheDataToPersistanceStore(data:NSArray)->Bool{varsuccess=trueautoreleasepool{do{letrealm=tryRealm()realm.beginWrite()forobjectindata{guardle

ios - 使用 Realm 解析 JSON 并保存

我有这个JSON数据:{"id":120,"userId":1,"key":[56,21,133,77]}我使用JSONHelper解析它,并使用Realm将其保存在本地.问题是我无法在本地保存Int数组,如果我尝试将对象更改为Swift中的简单对象,解析器将无法工作。模型classResponse:RLMObject,Deserializable{dynamicvar_id=0dynamicvaruserId=0varkey=List()requiredinit(data:JSONDictionary){super.init()_id我需要解析Int数组并使用Realm将其保存在本地

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)请求对象在那里,但属性是默认值。奇怪的是,