gpt4 book ai didi

macos - 当CoreData从磁盘读取数据完成时是否有通知?

转载 作者:行者123 更新时间:2023-12-03 16:43:55 26 4
gpt4 key购买 nike

我有一个使用 CoreData 的 Mac(非文档)应用程序。

启动应用程序时,它会读取文件系统上存储的数据。

我必须根据使用 CoreData 存储的信息在 -(void)applicationDidFinishLaunching 中设置一些内容。

因此,如果知道我的应用程序何时从磁盘读取所有内容,那就太好了。

如果我在-(void)applicationDidFinishLaunching中进行设置,我将无法工作。如果我几秒钟后执行它,它就会起作用!

谢谢!

最佳答案

如果您使用自动准备自己内容的对象 Controller ,您可以观察 arrangedObjects 以了解它们何时获取内容。这并不能保证实际物体没有缺陷。事实上,这是 Core Data 的主要优势之一:对象是从磁盘延迟加载的。

如果您出于某种原因想要确保大多数磁盘事件都发生在 applicationDidFinishLaunching 中,您可以执行自定义提取,该提取不会将对象作为错误返回。在核心数据文档中查找“预取”。但是,不能保证 Core Data 以后不会由于内存限制而对这些对象产生故障,从而在再次加载这些对象时引发另一次磁盘读取。

您当然也可以使用NSBinaryStoreType,在这种情况下,整个存储在添加到持久存储协调器时会同步加载到内存中。

关于macos - 当CoreData从磁盘读取数据完成时是否有通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693949/

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