我正在构建一个两个模式相同的应用程序(DB和LocalDB)。这是一个伟大的原因,只需要一行代码,Realm就可以解析我从服务器获取的JSON。ifletJSON=response.result.value{letrealm=try!Realm()do{tryrealm.write{realm.create(EMApplication.self,value:JSON,update:true)}}catch{print("Somethingwentwrong!")}}唯一的问题是Realm要求专门为我设置的每个属性提供一个类型,但我至少有一个属性我想用作AnyObject类型:class
当我尝试保存来自JSON字符串的数组时出现错误。我尝试使用RLMArray但没有成功。我收到的错误是:'RLMException',reason:'Property'page'isoftype'RLMArray'whichisnotasupportedRLMArrayobjecttype.我的模型类:publicclassProject:Object,Mappable{dynamicvarid=0dynamicvaruser:User!dynamicvarpage:RLMArray!dynamicvarerror_message:String!=""dynamicvarstatus:S
我有一个设置,我从服务器获取一些json数据来填充表格。有可能是数据变了,所以我每次都把数据全部取过来。我将该数据映射到一个Realm对象并将其保存到数据库中。主要ID用于防止重复。我使用Realm通知来保持TableView/CollectionView与数据源同步。当服务器请求完成时,对象会更新或添加到数据库中,并且View会自动重新加载。问题是所有单元格都会重新加载,因为数据库中的所有对象都会更新,即使它们实际上没有任何不同,因为我只是盲目地使用realm.add(object,update:真)。是否有一种好方法可以防止更新实际上并未更改的对象,从而避免不必要地重新加载单元格?
Realm依靠动态调度来访问ObjectiveC运行时以实现某些KVC机制。模型属性应标记为dynamic用于启用Realm使用的KVC的关键字对象以用精确值填充它们。所以你可以像这样定义模型:classCar:Object{dynamicvarcolor=""dynamicvarage=0}在某种程度上,您可以像这样设置属性:varcar=Car()car["color"]="white"car["age"]=20这适用于所有基本类型,如Int或String但不适用于通用类和结构,因为它们不能在ObjectiveC中表示。Realm使用其中两种类型:ListRealmOptional
我希望这个问题被Realm团队的人看到并回答我有一个项目使用Cedar来编写BDD风格的测试。我有一个包含ObjectiveC和Swift文件的混合项目。其中一些swift文件用于自定义Realm模型。我使用CocoaPods将Realm安装到我的项目中。目前我看到的推荐设置如下:在Podfile中使用Realm/Headers作为测试目标,仅使用Realm作为主要目标-这解决了+[RLMObjectBaseignoredProperties]:unrecognizedselectorsenttoclass错误。我的应用程序构建并运行,但现在我得到这个RLMObjectsubclass
我最近更新到xCode8,我选择继续使用Swift2.3我正在使用Cocoapods来集成Realm,它在升级到xCode8之前就可以正常工作。我在Realm的GitHub上四处搜索并尝试了一些解决方案,但没有成功。在我的podfile中,我有以下Realm行pod'Realm',git:'https://github.com/realm/realm-cocoa.git',branch:'master',submodules:truepod'RealmSwift',git:'https://github.com/realm/realm-cocoa.git',branch:'master
我想了解我在这里做错了什么。有两个基本的ViewController:一个tableView和一个detailView。如果数据被修改,我正在订阅通知以重新加载tableView。我可以从detailViewController修改记录,并且更改会得到反射(reflect)。甚至从tableView中删除一条记录,它也有效。但我还想在detailView上添加一个删除按钮,但随后viewController和Realm不同步并崩溃。'RLMException',原因:'对象已被删除或失效。'。下次我加载该应用程序时,记录将被删除,因此它可以正常工作。如何删除不同viewControll
我是Realm的新手,我想知道将对象的主键存储在ViewController中并将对象作为存储属性存储是否是个好主意。classVC:ViewController{publicvarid:Int!privatevarcustomer:Customer{get{returnDBO.loadCustomer(for:id)}}}classDBO{publicstaticfuncloadCustomer(forid:Int)->Customer{letrealm=try!Realm()returnrealm.object(ofType:Customer.self,forPrimaryKey:
大家好,我正在尝试创建一个使用Realm对象服务器同步数据的ios应用程序但是我缺少一些东西我在我的服务器上正确地安装了Realm对象服务器(远程)我可以正确访问仪表板我可以用Syncuser登录但我在同步数据时遇到问题。当我打开应用程序时,我登录了用户,但在那之后(我无法同步任何内容)我在网上搜索了一个完整的例子,但没有成功任何人都可以建议一个简单易行的示例来使用swiftRealm同步?谢谢 最佳答案 这是我使用RealmSwift对聊天应用程序的实际实现。我使用了一个名为Message的模型对象,定义如下:classMessa
我从api获取一个JSON文件,其中包含不同api链接的版本,这样我就可以知道在过时的情况下要再次下载哪些信息。我有一个Version类,如下所示:classVersion:Object{dynamicvarmyKey=NSUUID().uuidStringdynamicvarbanks_v=0dynamicvaratms_v=0overridestaticfuncprimaryKey()->String?{return"myKey"}我的想法是从Realm获取旧版本并从api下载新版本,如果版本不匹配,我应该下载我需要的JSON文件并更新我的Realm。我是这样做的:letnewVe