草庐IT

快速从 Realm 中删除对象

我有从JSON响应中保存列表的Realm对象。但是现在如果对象不在JSON的列表中,我需要删除该对象。我该怎么做?这是我的Realm初始化funclistItems(dic:Array)->Array{letitems:NSMutableArray=NSMutableArray()letrealm=try!Realm()foritemDicindic{letitem=Items.init(item:itemDic)try!realm.write{realm.add(item,update:true)}items.addObject(item)}returnNSArray(items)a

swift - 我用于 Realm 路径定义的#if TARGET_OS_SIMULATOR 代码有什么问题?

我有这个代码#ifTARGET_OS_SIMULATORletdevice=falseletRealmDB=try!Realm(path:"/Users/Admin/Desktop/realm/Realm.realm")#elseletdevice=trueletRealmDB=try!Realm()#endifdevicebool工作正常,但RealmDB仅适用于else条件。 最佳答案 从Xcode9.3+开始,Swift现在支持#iftargetEnvironment(simulator)检查您是否正在为模拟器构建。请停止使用

swift - 如何从 iOS 中完全删除 Realm 数据库?

现在我收到错误“值”属性的属性类型不匹配。旧类型“float”,新类型“double”。如何清除数据库或成功迁移数据库? 最佳答案 要从磁盘中完全删除Realm文件并从头开始,只需使用NSFileManager手动删除它即可。例如删除默认的Realm文件:NSFileManager.defaultManager().removeItemAtURL(Realm.Configuration.defaultConfiguration.fileURL!)如果你想保留Realm文件,但完全清空它的对象,你可以调用deleteAll()来这样做

ios - Realm :结果<T> 和列表<T>

是否可以转换Results至List还是我不应该这样做?在我的例子中,我有一个将List作为参数的方法。我想用获取的对象(Results)和计算的对象(List)调用此方法 最佳答案 Results实现了CollectionType协议(protocol),所以你可以使用reduce来转换它:letresults:Results=...letconverted=results.reduce(List()){(list,element)->Listinlist.append(element)returnlist}您可以将此代码放在扩展

ios - Realm - 无法使用现有主键值创建对象

我有一个对象Person和很多狗。应用程序有单独的页面,它只显示狗和其他页面,它显示人的狗我的模型如下classPerson:Object{dynamicvarid=0letdogs=List()overridestaticfuncprimaryKey()->String?{return"id"}}classDog:Object{dynamicvarid=0dynamicvarname=""overridestaticfuncprimaryKey()->String?{return"id"}}我将人员存储在Realm中。Person有详细信息页面,我们可以在其中获取并展示他的狗。如果狗

swift - Swift 中的 Realm 迁移

我有一个这样建模的Realm对象classWorkoutSet:Object{//Schema0dynamicvarexerciseName:String=""dynamicvarreps:Int=0//Schema0+1dynamicvarsetCount:Int=0}我正在尝试执行迁移。在我的AppDelegate中,我导入了RealmSwift。在函数didFinishLaunchWithOptions中调用Migrations().checkSchema()Migrations是在另一个文件中声明的类。在该文件中有一个结构声明为如此。funccheckSchema(){Real

关系列表中的 iOS Realm Filter 对象

我通过这样的列表嵌套了三个对象:classCanteen:Object{dynamicvarname:String?letlines=List()}classLine:Object{dynamicvarname:String?letmeals=List()}classMeal:Object{dynamicvarname:String?dynamicvarvegan:Bool=false}搞定所有食堂所有的线路和饭菜是没有问题的。我现在正在做的是:letpredicate=NSPredicate(format:"name==%@",selectedCanteenType.rawValue

swift - 从特定 Realm 对象 Swift 中删除所有数据

在我深入探讨我的问题之前。我的目标(可能会影响您的答案)是删除不再位于云中的Object数据。所以如果我有一个数组["one","two","three"]然后在我的服务器中删除"two"我希望我的Realm更新更改。我认为最好的方法是删除特定Object中的所有数据,然后调用我的RESTAPI来下载新数据。如果有更好的方法,请告诉我。好的,这是我的问题。我有一个对象Notifications()每次我的RESTAPI被调用时,在它下载任何东西之前我正在运行这个:letrealm=Realm()letnotifications=Notifications()realm.beginWri

ios - 如何在 Realm Swift 中使用 NOT IN

我有一个Realm对象列表(假设是用户),我想检索除“John”、“Marc”、“Al'Med”等之外的所有对象。我尝试了以下方法:varnamesStr=""foruserinunwantedUsers{namesStr+="'"+user.name+"',"}namesStr=String(namesStr.characters.dropLast().dropLast())letpredicate=NSPredicate(format:"NOTnameIN{%@}",namesStr)letremainingUsers=uiRealm.objects(User).filter(pr

ios - Realm - 将带有初始数据的文件添加到项目 (iOS/Swift)

我正在使用swift开发适用于iOS的应用程序,并选择Realm作为它的数据库解决方案。我使用Realm文档中的写入/添加功能在AppDelegate中编写了默认数据,它工作得很好。所以在第一次启动后,我有一个包含我的初始数据的*.realm文件。在Realm文档中,我找到了一个名为"BundlingaRealmwithanApp"的部分,我将我的*.realm文件添加到项目中,并按其编写的方式添加到构建阶段。而且我不明白我接下来应该做什么(以及关于压缩*.realm文件的部分)。我试图理解来自MigrationExample的代码但我不太了解Obj-C。请尽可能给出清晰的步骤,将带有