gpt4 book ai didi

iOS NSManagedObjectContext - 保存所有更改后是否可以获取或发送通知?

转载 作者:行者123 更新时间:2023-11-29 03:56:20 27 4
gpt4 key购买 nike

我使用 Core Data - 我已经注册并正在监听 NSManagedObjectContextDidSaveNotification:我有一个数据集合(来自 JSON),我想要保存它,在保存所有对象后,我想收到某种通知。目前看来,此通知是在保存每个对象后发送的。是否有某种内置解决方案可以获取我想要的通知?如果没有,我可以/应该怎么做?

最佳答案

保存特定批处理的对象后,不会发布任何内置通知。 Core Data 实际上不知道您的集合中有多少对象,因此它无法知道您已到达集合的末尾。

每次在托管对象上下文上调用 save: 时,您都会收到 NSManagedObjectContextDidSaveNotification 。您可以等到处理完所有对象后再保存,这意味着只有一个 NSManagedObjectContextDidSaveNotification

更好的解决方案是当您知道已完成收集时发布您自己的通知。定义一个名为 JSONUpdatesCompleteNotification 之类的字符串常量,并在上次 save: 调用后使用该名称发布通知。

NSString *JSONUpdatesCompleteNotification = @"JSONUpdatesCompleteNotification";

然后,当你知道你已经完成时,

[[NSNotificationCenter defaultCenter] postNotificationName:JSONUpdatesCompleteNotification object:self];

确保您在需要了解的任何地方都看到此通知,然后就完成了。

关于iOS NSManagedObjectContext - 保存所有更改后是否可以获取或发送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442916/

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