【发布时间】:2017-02-02 14:18:37
【问题描述】:
我需要将大约 1000-1500 个对象从一个控制器传递到另一个控制器。我关心的基本上是速度。如果我发送列表或结果会影响吗?或者我应该通过谓词并再次查询它。然后访问被查询对象的列表。
为了更清楚。 我有一个名为 Chat 的对象,它有一个媒体列表。现在我想通过那个媒体。什么是最好的做法。 有时我也需要过滤媒体。然后我使用reduce func将该结果转换为列表。
【问题讨论】:
我需要将大约 1000-1500 个对象从一个控制器传递到另一个控制器。我关心的基本上是速度。如果我发送列表或结果会影响吗?或者我应该通过谓词并再次查询它。然后访问被查询对象的列表。
为了更清楚。 我有一个名为 Chat 的对象,它有一个媒体列表。现在我想通过那个媒体。什么是最好的做法。 有时我也需要过滤媒体。然后我使用reduce func将该结果转换为列表。
【问题讨论】:
如果您指的是 Realm Results 对象,那么您无需担心这一点。存储在Results 中的对象仅在您的代码明确请求它们时才会延迟加载到内存中。因此,传递Results 对象不会产生任何开销。
话虽如此,如果您随后使用原生 Swift reduce 函数从 Results 对象创建过滤数组,那将成为一个问题。该操作将通过并强制Results 中的每个项目立即延迟加载,这可能会导致内存问题。如果可能,您应该尝试使用 Realm filter() 方法执行该操作,以生成另一个 Results 对象。
【讨论】: