我正在使用Realm作为缓存层,这样无论何时向用户呈现数据,它都会首先从数据库中获取并显示给用户。随后,发送服务器请求以获取最新版本的数据,将其与Realm数据库同步并在UICollectionView中显示更改。问题是当从Realm数据库中检索缓存数据并且UICollectionView正在更新时,服务器更新请求有可能在此之前完成UICollectionView加载了所有单元格,并且由于Results列表是实时数据集合,它可能已被修改。现在,例如,如果在服务器端删除了一个项目,则实时集合将减少一个项目,因此导致越界异常。话虽这么说,考虑到results可以在UITableView逐行
我刚刚构建了我的应用程序的最新版本,遇到了一个问题,即我所有Realm对象上的List都没有被存储。下面是一些示例代码:对象:publicclassReportItem:Object{@objcdynamicvarid:String!@objcdynamicvarsomeDate:Date?//ThiscontainsanotherListasoneofitspropertiesletlist=List()overridepublicclassfuncprimaryKey()->String{return"id"}conveniencepublicinit(id:String,date
我正在使用Realm库开发iOS应用程序,它运行良好。但是当我试图保存一个模型时,它会抛出这样的错误。Terminatingappduetouncaughtexception'RLMException',reason:'Targettablerowindexoutofrange这是代码。....do{tryrealm?.write{letnewPatientImage=PatientImage()newPatientImage.path=imageNameifletflap=flap{newPatientImage.setStronglyTypedFlap(flap)}newPatie
从Xcode9开始,可以通过省略Podfile中的use_frameworks!标志来使用静态库。但是,当与PodRealmSwift一起使用时,会导致以下错误:[!]ThefollowingSwiftpodscannotyetbeintegratedasstaticlibraries:TheSwiftpod`RealmSwift`dependsupon`Realm`,whichdonotdefinemodules.Tooptintothosetargetsgeneratingmodulemaps(whichisnecessarytoimportthemfromSwiftwhenbui
我的联赛中有拥有球员的球队。一名球员可以属于不同的球队和联赛。一支球队可以属于不同的联赛。我在设置这些与Realm的关系时遇到了问题。classLeague:RLMObject{dynamicvarname="name"dynamicvarteams=RLMArray(objectClassName:Team.className())}classTeam:RLMObject{dynamicvarname="name"varleagues:[League]{returnlinkingObjectsOfClass("League",forProperty:"teams")as[League
我希望能够让我的应用程序保存Realm的备份副本。这怎么可能呢? 最佳答案 RLMRealm的-writeCopyToPath:(referencedoc)方法以紧凑的方式将Realm文件复制到给定位置。 关于ios-如何以编程方式备份Realm文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/27336141/
我希望我的应用程序附带预初始化的数据库。在SQL中,我会创建一个数据库,执行必要的插入操作,将pg_dump转储到一个文件,然后从该文件加载。我确定Realm有一个等效的方法,但我不确定它是什么,而且我在文档中找不到它。 最佳答案 (免责声明:我为Realm工作)Realm中没有类似pg_dump的功能,但您可以随应用程序一起分发预构建的Realm文件,这样就可以正常工作。:)目前,创建预制Realm文件的最佳方法是简单地制作一个小型示例应用程序来生成并填充该文件,但我们也在努力将该功能添加到Realm浏览器中。
在Realm中有没有办法为存储在数据库中的每个对象设置一个唯一的ID?我不一定需要它每次都自动递增。我只是想知道有没有办法在iOS8或更高版本的Swift2中做到这一点?我知道您可以在objC中做到这一点。 最佳答案 要为您的Realm中的所有对象生成UUID,您可以创建一个生成UUID的父类(superclass):classIdentifiableObject:Object{private(set)dynamicvaruuid=NSUUID().UUIDString}swift5classIdentifiableObject:O
我刚刚开始使用Realm,所以我尝试了Realm文档中的简单示例。classDog:Object{dynamicvarname=""dynamicvarage=0}//createDogobjectandsetitspropertiesvarmyDog=Dog()myDog.name="Rex"myDog.age=5print("nameofdog:\(myDog.name)")print("ageofdog:\(myDog.age)")//GethandletodefaultRealmletrealm=try!Realm()//AddtothedefaultRealminsideat
tl;dr:我试图将每个对象从一个Realm复制到另一个Realm,但我得到的对象是我应该得到的两倍或4倍(我想是因为它们之间的关系).(编辑:我实际上得到了更多!检查我在底部的最后编辑。)我正在尝试让我的用户备份和恢复他们的Realm数据库。我有一个Book类和一个ReadingSession类。一本Book可以有很多ReadingSession:classBook:Object{//(…)varreadingSessions:[ReadingSession]{returnlinkingObjects(ReadingSession.self,forProperty:"book")}}