我对Realm中的对象有一个奇怪的问题。当我从Realm数据库中获取一个对象时,有时它的一些字段(它只发生在RealmOptionals上)在访问它们之后为nil。但这真的很奇怪,因为如果我在访问那些字段之前放置一个断点,然后我在lldb上执行poobject.field,那么nil字段就会消失。我已经看到,也许我忘记了将这些字段设置为“动态”,但在我的情况下,按照Realm文档,我必须使用RealmOptional作为可选bool值。有谁知道这里的问题是什么?提前致谢。编辑:我用来从Realm中检索和对象的方法是:funcgetObject(atPositionposition:In
所以我向我的一些模型添加了一些新属性,并且在模拟器中,只需调用它就可以了:setSchemaVersion(7,realmPath:Realm.defaultPath){migration,oldSchemaVersioninifoldSchemaVersionVoidinnewObject!["weighted"]=true})}}但是当我尝试在设备上运行它时,它只是挂起。我尝试注释掉新的迁移,我正确地得到了需要进行迁移的错误消息(我以前的模式版本是6),但是当我重新添加新的迁移时,我的应用程序只是挂起并且从未真正调用迁移block。知道这可能是什么吗?有没有办法在不完全重置我的Re
如果这是我的代码,那么为什么我会收到错误消息:当我使用Realm前言数据时,“RLMResults”类型的值没有成员“arraySortedByProperty”。varitems=[NSManagedObject]()vartodos:RLMResults{get{returnToDoItem.allObjects()}}overridefuncviewDidLoad(){super.viewDidLoad()title="Todos"}funcdeleteRowAtIndexPath(indexPath:NSIndexPath){letrealm=RLMRealm.defaultR
当我尝试从Realm数据库中删除项目时,我无法适本地更新UICollectionView。让我们假设一个Realm容器children类型List:varchildren=realm.objects(Parent).first!.children当我想通过以下方式从数据库中删除这个child时:try!realm.write{realm.delete(children[indexPath.row])}通过collectionView.deleteItemsAtIndexPaths([indexPath])更新collectionView给出以下错误:Goterror:***Termin
RealmCollectionNotifications在使用“map”映射UITableView行时工作正常。我如何通过将其映射到UITableView部分来实现相同的目的。对于行,我遵循以下代码:notificationToken=results.addNotificationBlock{[weakself](changes:RealmCollectionChange)inguardlettableView=self?.tableViewelse{return}switchchanges{case.Initial:tableView.reloadData()breakcase.Up
所以我有一个包含memberEmails的数组,现在我想查询没有存储在这个数组中的用户:varmemberEmails:[String]=//...isnotemptyself.registeredUsers=self.realm.objects(AppUser).filter("email!='\(self.user.email!)'&&'\(memberEmails)'!CONTAINSemail")抛出的错误信息:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'Unableto
我正在做这个tutorial他们在那里使用pod'RealmSwift','~>0.98'。但是,当我尝试使用Realm浏览器Version2.0.0(78)打开default.realm文件时。总是有警报'default.realm'的文件格式版本较旧,必须升级才能打开。您想继续吗?所以我尝试使用latestversionofRealmSwift.即使使用最新版本,也会出现该消息。当我继续升级文件时,我可以打开它并查看记录。但问题是,当我在此之后关闭Realm浏览器并再次启动应用程序时,出现错误fatalerror:“尝试!”表达式意外引发错误:...“无法在路径中打开Realm..
只是想知道,如何将列表转换为结果?因为我正在过滤区域和区域,当用户选择区域时,区域应该只显示该区域中的那些区域。当我将我的区域分配给定义为varareas:Results!的变量时,我得到了编译错误Cannotassignvalueoftype'List'totype'Results!'我的代码如下ifletregionString=self.selectedRegionString{letregion=self.realm.objects(Region).filter("name='\(regionString)'").firstself.areas=region!.areas//t
我将Realm用于我的iOS应用程序和一个表,我有一个主键“名称”letapplication=Application()application.domain=app.domainapplication.name=app.namerealm.add(application)现在当它尝试更新名称时会抛出错误app?.name=newName错误是Primarykeycan'tbechangedafteranobjectisinserted.我该如何解决这个问题?这是我声明主键的方式overridestaticfuncprimaryKey()->String?{return"name"}
目标:减少内存占用我的方法是在AppDelegate类中创建单个Realm实例,然后访问它,而不是每次都创建一个新变量。AppDelegatelazyvarrealm:Realm={letrealm=try!Realm()//GetourRealmfile'sparentdirectoryifletfolderPath=realm.configuration.fileURL?.URLByDeletingLastPathComponent?.path{//Disablefileprotectionforthisdirectorydo{tryNSFileManager.defaultMan