Tag: 领域

领域 – 不能用现有的主键值创build对象

我有一个对象有很多狗的人。 应用程序有单独的页面,只显示狗和其他页面,显示人的狗 我的模型如下 class Person: Object { dynamic var id = 0 let dogs= List<Dog>() override static func primaryKey() -> String? { return "id" } } class Dog: Object { dynamic var id = 0 dynamic var name = "" override static func primaryKey() -> String? { return "id" } } 我有人存储在领域。 人有详细信息页面,我们取和显示他的狗。 如果狗已经存在,我更新该狗的最新信息,并将其添加到人的狗列表,否则创build新的狗,保存并添加到人名单。 这工作在coredata。 […]

无法加载“RealmSwift”的底层模块

我试图通过Cocoapods安装Swift的Swift。 首先,我所做的是将pod initjoin到我的项目中 然后我打开podfile并像这样改变它: target 'Taskio' do use_frameworks! pod 'RealmSwift' end 然后closurespodfile并执行命令pod install 一切顺利。 但是现在当我打开工作区时,在导入RealmSwift时出现错误 无法加载“RealmSwift”的底层模块

领域文件的大小如何发展?

领域文件的大小如何发展? 首先:我有一个包含多个属性的领域文件,其中一个是860个条目的数组,每个数组条目又包含一些属性。 一个数组属性表示条目的名称。 我观察到以下情况: 如果名称属性是“Criteria_A1”(直到“Criteria_A860”) – 那么领域文件是1.6 MB大 如果名称属性是“A1”(直到“A860”) – 那么领域文件只有786 kB大 为什么array-name-property中的额外字母使领域文件变得更大? 第二个观察: 如果我添加更多的对象(每个都有860个条目的数组),那么文件大小再次获得1.6MB的大(无论我添加多less对象;猜测,直到再次出现临界值,错误??)。 在我看来,786 kB的领域文件的大小一增加了一倍(或者是一个包含更多字母的属性或一个添加的对象),其大小就会增加一倍。 为什么领域文件在临界值上翻倍,并且在添加更多内容时不会线性增加? 感谢您对此的澄清。

领域 – 删除后不能使用对象

我在我的应用程序中有一个video播放器。 collections视图中有一个video列表。 如果点击其中一个单元格,则会出现一个新的视图控制器来播放选定的video。 此外,您可以循环浏览新视图控制器中的collections夹视图中的所有video,因为整个列表都已通过。 问题是:当用户在PlayerVC ,他们可能不喜欢Video 。 如果他们这样做,我从Realm中删除Video对象。 但是,这会导致: Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.' 基本上,如果用户在PlayerVC观看video并且他不喜欢video,我希望他们暂时能够观看video。 但是当他们离开PlayerVC , FavoritesVC的集合视图应该被更新并且不再显示该Video 。 当我删除一个Video对象时,我使用Realm的delete方法。 这是我的代码来保存Video对象的列表: /// Model class that manages the ordering of `Video` objects. final class FavoriteList: Object { // MARK: – Properties /// `objectId` is set to a […]

如何正确加载数千条logging到领域?

我试图使用Realm将大约8000条logging保存到磁盘中,但它阻止了UI。 因此,我使用Realm.asyncOpen在后台线程中执行数据保存。 当我尝试以这种方式保存大量logging时,问题是100%的CPU使用率。 如何正确加载数千条logging到领域?

检测Realm.io数据库是否需要迁移 – 如果是的话,将其销毁

我使用Realm进行不太长期的caching,并且不需要跟上架构版本或随时迁移数据模型。 因此,随着数据模型的改变,我们的应用程序如何巧妙地处理这种差异,而不是通过吹走默认的Realm并从头开始呢? 提前致谢!

在领域中的子查询和IN语句

我有三个领域对象。 部门,部门和用户。 部门是一个部门的一个子部门。 但是每个部门和每个部门都会有用户。 @interface Department : RLMObject @property NSString *name; @property BOOL isCollapsed; @property (nonatomic, strong) RLMArray<Section> *sections; @property (nonatomic, strong) RLMArray<User> *users; @end @interface Section : RLMObject @property NSString *name; @property BOOL isCollapsed; @property RLMArray<User> *users; @end @interface User : RLMObject @property NSString *department; @property NSString *email; @property NSString *firstname; @property NSString *lastname; […]

清理旧对象的境界

我刚开始在我的iOS应用程序中使用Realm进行caching。 该应用程序是一个商店,商品。 当用户浏览商品时,我将这些项目添加到数据库中。 但是,由于这些项目不能永久保留,所以将它们保存在数据库中是没有意义的,比如24小时。 是否有一个首选的方式来批量过期一段时间后的对象? 或者最好是添加date属性,并在每个应用程序启动时查询这些对象?

RLMException,对象types需要迁移

我有一个对象NotSureItem,其中我有三个属性'标题'的名字是从'文本'和textDescription我已经添加了以后和一个dateTime属性重命名。 现在,当我要运行我的应用程序时,它会崩溃,当我想添加一些东西到这些属性。 它显示以下语句。 对象types“NotSureItem”需要迁移,原因如下: – 最新的对象模型缺less属性“文本”。 – 属性“标题”已被添加到最新的对象模型。 – 属性“textDescription”已被添加到最新的对象模型。 这里是我的代码: import Foundation import Realm class NotSureItem: RLMObject { dynamic var title = "" // renamed from 'text' dynamic var textDescription = "" // added afterwards dynamic var dateTime = NSDate() }

如何在Realm中设置自动递增键?

每个ChatData对象都有一个唯一的msgid。 @interface ChatData : RLMObject @property NSInteger msgid; …. @end 但每次我创build一个新的对象,我不得不查询所有的对象,并得到最后一个msgid。 RLMArray *all = [[ChatData allObjects] arraySortedByProperty:@"msgid" ascending:YES]; ChatData *last = [all lastObject]; ChatData *newData = [[ChataData alloc]init]; newData.msgid = last.msgid+1; 有没有一个有效的方法来取代这个实现?