问题标签 [realm-cocoa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
94 浏览

realm - 从 0.95.3 升级到 0.96.3 Cocoa Realm,获取“属性 'id' 已成为可选。”

从 Realm 0.95.3 升级到 Realm 0.96.3

RLMObjectStore.mm:106 内出现应用程序错误

抛出错误,说明属性已成为可选

如何使这些再次成为非可选我在文档中看不到有关如何执行此操作的任何内容。模型配置如下:

.m 文件如下。

0 投票
2 回答
583 浏览

realm - 如何在测试之间重置 Realm 的状态?

我们一直在使用RLMClearRealmCache在测试迁移的测试之间清除 Realm 的状态。如果缓存没有被清除,下一个测试将不会执行迁移,因为缓存仍然报告模式是最新的,即使我们已经删除并替换了领域固定文件(它具有旧模式)。

RLMClearRealmCache最近被移动到一个 Objective-C++ 文件,所以我们想停止使用它并避免在我们的项目中使用 Objective-C++。这仍然是最好/唯一的方法吗?

需要明确的是,我们没有将内存中的领域用于这些规范。我们有一个default.realm在特定版本的设备中保存的夹具文件,我们正在执行以下操作来使用它:

但是,在测试用例之间,如果没有调用RLMClearRealmCache,似乎 Realm 的缓存确定迁移已经运行,即使我们已经换出.realm文件并且需要再次运行它们。

0 投票
1 回答
1474 浏览

realm - 如何在 Realm Swift 中自定义 getter 和 setter?

我是 Realm 的新手,我以前使用过 MagicalRecord。

在 MagicalRecord 中,我可以处理导入功能,甚至可以为多个候选名称设置一些映射键。

我想自定义我的 Realm 对象的一些属性。

我发现DynamicObject这看起来像我想要的。但是,我不知道如何使用它。

0 投票
1 回答
127 浏览

swift - 如何获得 Realm 中最具代表性的价值?

我对 iOS 上的 Realm 有疑问。

我的 Realm DB 中有一个对象,如下所示:

假设我用这些数据填充我的表:

如何查询我的 Realm DB 以返回代表最多的值 A?

谢谢

0 投票
2 回答
1417 浏览

swift - 我可以在没有事务的情况下在 Swift 中编辑 Realm 对象吗?

在我的项目中,我需要在请求正文中发送领域对象。在此操作之前,我需要将对象变量中的一些值替换为另一个值。

但在从服务器获得成功响应之前,我不需要保存新值。

如果我没有在更改时打开交易,我会收到错误

那么,有没有办法在不立即保存的情况下修改 Realm 对象,而是“保存成功”的情况?

0 投票
1 回答
3520 浏览

swift - 使用多级属性在 RealmSwift 中创建 LinkingObjects 属性

根据v0.102.0 的 Realm 文档,这是创建反向关系的方式:

狗 (v1)

假设我们有另一个类,称为DogFood,并且我们想要创建一个反向关系,称为buyersthat 跟踪哪些实例Person具有Dog吃 的实例DogFood。我们可以尝试以下方法:

狗 (v2)

狗粮

但是,这会引发以下错误:Property 'dogs.favoriteFoods' declared as origin of linking objects property 'buyers' does not exist.

有没有其他方法可以达到同样的效果?

0 投票
2 回答
4830 浏览

ios - 如何将 RealmSwift 列表转换为结果?

我正在使用 RealmList/Results作为我的数据源UITableView。在某些时候,我为它分配了一个列表。喜欢:

然后我在这个列表上有一个过滤器如果用户更改了过滤器日期,我会这样做:

但是上面的行会导致错误,因为返回类型filter是一个Results对象并且aRealmObject.someList是一个列表。

处理这种情况的最佳方法是什么?

  • 将 dataSource 设为 aList并将Results对象转换为List? 如何??
  • 将 dataSource 设为 aResults并将其转换ListResults? 如何??
  • 或者你有更好的方法,请与我分享。

谢谢,

0 投票
1 回答
837 浏览

realm - 在 Realm 中实现一对多关系的正确方法

我研究了 Realm 的文档并了解可用于管理对象组的各种类。据我了解,有 RLMArrays、RLMLinkingObjects 和 RLMResults。我将使用一个带有许多 Comments 类对象的 Blog 类示例来设置我的问题。假设 Blog 类可以有 10000 个对象,每个 Blog 对象可以有 1000 个 Comments,我不清楚如何最好地在 Realm 中表达关系。我可以使用评论的 RLMArray 作为博客的属性。然后我将不得不管理博客和评论的反向链接。这将我引向 RLMLinkingObjects,因为我可以将博客上的评论属性表示为链接回博客的任何评论。然后是复杂的博客和评论比我想一次实例化的要多。这就是 RLMResults 选项很有吸引力的地方,因为它允许对象被延迟实例化。然而,这改变了我与对象交互的方式,因为我现在将查询与博客相关联的评论,而不是简单地访问属性(例如 blog.comments)。

我在这里遗漏了一个重要的考虑因素,即这些数据都驻留在服务器上,但我希望首先在本地(具有持久性)定义对象模型,然后弄清楚如何通过 REST 将模型映射到服务器.

我会喜欢 Realm 用户的任何意见、想法或建议。

谢谢!

0 投票
2 回答
1110 浏览

ios - 如何检查 RLMResults 无效?

当我的用户注销时,我使用realm.deleteAll(). 在此之后,我收到很多通知,导致从Results对象读取,这导致异常realm::Results::InvalidatedException,“RLMResults 已失效”。我找不到办法

  • 直接检查Results对象是否失效;

  • 检查Results'realm对象是否失效;或者

  • 获取派生自ListResults以检查其失效状态。

我想不出还有什么要寻找的。如果有更好的方法来清除不会导致所有地方出现异常的数据库,我也很高兴听到这个消息。

附加信息:即使在调用对象时也会引发异常countResults而不仅仅是访问其对象。

0 投票
1 回答
2847 浏览

ios - 领域数据库锁定?

在同步时,我用服务器的数据覆盖我所有的本地数据。为此,我首先调用realm.delete(realm.objects(MyObj))我所有的对象。然后我将响应的对象保存为realm.add(obj, update: false). 一切都在一次交易中。有效负载可能需要一段时间来处理,但不足以证明实施分页是合理的。

在此过程中用户能否正常使用该应用程序?他们是否可以存储在交易的清算部分被删除的新项目,或者在添加部分会触发错误或被覆盖的新项目?如果是,我该如何避免这种情况?