gpt4 book ai didi

ios - 如何在 iOS 中的线程之间传递 RLMObject?

转载 作者:行者123 更新时间:2023-11-28 19:48:09 25 4
gpt4 key购买 nike

我有一个包含 10000 个 RLMObject 的 RLMArray,可以根据按钮触摸事件按它们的属性对其进行排序。

我想通过 GCD 将排序过程踢回后台线程,并保持 UI 流畅。 Realm 不是线程安全的,所以一旦我将更新的 RLMArray 传递回主线程,它就会崩溃。

执行此操作的最佳方法是什么?谢谢

最佳答案

是的,没错。 Realm 对象不是线程安全的。如果你需要在线程之间移动它们,最简单的方法是给每个对象一个主键,然后使用它的主键在新线程上重新获取对象(使用 [RLMObject objectForPrimaryKey:]方法)。

在这种情况下,最好执行排序,然后使用结果构建对象主键的 NSArray。然后您可以将此数组传递给新线程,然后在需要时从中重新提取对象。

值得庆幸的是,在 Realm 中重新获取对象非常快,因此虽然这看起来效率很低,但您不应该遇到任何重要的性能损失。

关于ios - 如何在 iOS 中的线程之间传递 RLMObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30687450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com