gpt4 book ai didi

cocoa - 核心数据 - 我可以将计算值存储为持久属性吗?

转载 作者:行者123 更新时间:2023-12-03 17:07:11 25 4
gpt4 key购买 nike

背景

  • 我有一个计算值存储在 transient 属性中。
  • 每次我的应用程序启动时, transient 都需要更新。
  • 启动时间非常慢(即 10-15 秒)
  • Instruments 确认更新费用非常昂贵。

问题

可以将计算值存储在持久属性中吗?

我会使用Martin Brugger's Dependant Properties使计算值保持最新。

更多信息

我的计算值是数千个对象的持续时间:

Name                       Duration
Users 70s
Proposal.doc 35s
12:32-12:32 5s
13:11-13:11 30s
Proposal2.doc 35s
14:32-14:32 15s
15:11-15:11 20s
...thousands more objects...

我尝试过的

  • 我使用预取和 setReturnsObjectsAsFaults:NO 最大限度地减少了引发的错误数量,但它会占用大量内存,并且仍然需要很长时间。

  • 我已尽我所知使瞬时更新代码变得高效。

  • 我知道我可以在后台线程上获取并使用进度条,但我希望用户根本不必等待。

最佳答案

我不确定我是否完全理解这个问题,但我认为您所问的问题的简单答案是“当然”。 :-)

拥有 transient 、实时计算的“currentTotalDuration”值和“cachedTotalDuration”属性没有任何问题。当“currentTotalDuration”更新后,扔到“cachedTotalDuration”中就完成了。对我来说,拥有一个持久缓存属性和一个仅在需要更新时才使用的“实时计算” transient 值听起来完全合理。

我不熟悉 Martin Brugger 的从属属性,但听起来大部分艰苦的工作已经为您完成了。

我希望我回答了您实际提出的问题。 :-D

关于cocoa - 核心数据 - 我可以将计算值存储为持久属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246468/

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