草庐IT

swift - 在 Realm 中存储自定义对象数组

我有一个名为List的对象它是Realm的Object的子类类:classList:Object{dynamicvarbrandListItems:[BrandListItem]=[]}和另一个对象,BrandListItem这也是Object的子类:classBrandListItem:Object{dynamicvarbrandID:String?dynamicvarname:String?}我的应用因以下错误而崩溃'Property'brandListItems'isdeclaredas'NSArray',whichisnotasupportedRLMObjectproperty

ios - 将数据库保存在 AppGroup 的共享容器中是一种好方法吗

我在我的应用程序中使用Realm作为数据库,并且我有共享扩展来支持媒体从其他应用程序共享。因为我需要从共享扩展访问我的数据库,所以我将Realm文件从App的文档目录移动到Appgroup的共享容器。我有以下问题。将数据库存储在共享容器空间中是否安全。当我卸载应用程序时,共享容器内的文件仍然存在,因此共享容器将被删除。处理我的场景的任何其他最佳实践。 最佳答案 您似乎在Realm的GitHub问题跟踪器中交叉发布了此内容。我的评论来自https://github.com/realm/realm-cocoa/issues/4899#i

swift - 使用可选类型时的 RealmSwift 和 Codable

我在一个项目中长期使用RealmSwift和Codable,但是,我的api开发人员刚刚给了我两个新属性,它们只存在于对象的某些返回调用中。如果我调用getUserInfo,我会收到一个没有这两个属性的usermodel。在这种情况下,您可以在codable中使用decodeIfPresent并将数据类型设置为可选。然而,这两个字段是纪元时间值,使它们成为某种数字。Realm要求您的数据类型以@objc为前缀。@objcdynamicvarscanIn:Double=0当然,所有的数字基元都是这样工作的,但是它们中的NONE作为可选值工作。您必须使用NSNumber或类似的方式来使用O

ios - Realm swift : Update an object inside a closure

为了这个问题,这里有一个简单的例子(有一些快捷方式):classFoo:Object{dynamicvarid:Int=0[...]}classBar:Object{dynamicvarid:Int=0dynamicvarfoo:Foo?conveniencerequiredinit(data:AnyObject){self.init()self.id=data.idas!Intifletfoo_id=data.foo_idas?Int{//FunctionqueryingtheremotedatabaseandreturninganobjectFoo.get(foo_id){(foo

swift - 删除一对多关系

我有一个一对多的关系:classGameSystem:Object{dynamicvargameSystemName=""}classgames:Object{dynamicvargameSystemName=gameSystemName().namedynamicvargameTitle=""dynamicvargameGenre=""}gameSystemName当前显示在TableView上。如果用户删除了一个gameSystemName,我希望那个gameSystemName连同该系统的所有游戏都被删除。我目前使用的代码只会删除GameSystem,但保留所有游戏。funcde

ios - 将 Realm Swift 与初始化程序一起使用会引发常量错误

Xcode7.1和Swift2.1以及最新的RealmSwift0.96.2我为Realm创建了一个模型类,但它不断抛出有关inits的错误。我在一定程度上了解子类的初始值设定项,但我无法理解这一点以及它失败的原因。这是我制作的类(class):importUIKitimportRealmSwiftclassBoxes:Object{dynamicvarprecessor:String="B";dynamicvarid:Int=0;dynamicvarboxNumber:String{return"\(precessor)\(id)";//computedproperty}dynami

ios - 使用 Alamofire 和 realm.io 进行分页

我有一个api,它看起来像http://URL/news/:laSTLoaded/:size其中laSTLoaded和size是API应返回的对象范围。此api返回不同新闻的列表,我想在tableView中显示这些新闻。但是,为了使其有效,我不想进行某种分页,因此并非所有对象都加载到tableView中。这是我通过像这样的简单变量实现的letpageSize=20varlastLoadedPage=0但是我如何确保我的案例realm.io中的数据库始终与来自api的所有新闻保持同步。如果这样更容易,我可以轻松更改api并添加更多参数吗?什么是最佳实践?我正在使用Alamofire和re

arrays - 如何将数组保存到 Realm 对象

我刚开始使用Realm。有没有一种简单的方法可以将数组保存到Realm对象?我正在从JSONREST调用中接收我的数据:classSomeClass:RLMObject{dynamicvarid=0dynamicvarname=""dynamicvararray:NSArrayfunccheckForUpdates(){//DownloadJSONdatahere...Theresultshaveanarrayinsideofthem.SomeClass.createOrUpdateInDefaultRealmWithObject(SomeNSDictionary)}overridec

ios - iCloud自动备份的.realm文件

我的应用因其上传到iCloud的内容过大而被拒绝。我的应用程序的文档文件夹中唯一的文件是default.realm数据库文件。我认为这是iCloud正在上传的文件。如何阻止iCloud将数据库上传到iCloud?谢谢。 最佳答案 根据AppBackupBestPracticessectionoftheiOSAppProgrammingGuide,/Library/Caches或/tmp不会备份到iCloud。一般可以用/Library/Caches用于保存您不会备份到iCloud的数据的目录。要改变Realm的文件路径,可以通过pa

swift - Realm如何写子查询

我正在研究Realm数据库,这个数据库与核心数据相比很好,但我被困在一个地方,如下所示:我在其中创建了两个RLMObject关系,我想对其运行连接查询(子查询),但我做不到。Ralm中的第一个对象(表)classDog:RLMObject{dynamicvarname=""dynamicvarage=0//createvariableofOwnerobjectdynamicvarowner=RLMArray(objectClassName:"Owner")overrideclassfuncprimaryKey()->String!{return"name"}}Ralm中的第二个对象(表