macos - 如何强制 NSArrayController 重新加载 MOC 内容以反射(reflect)最新的数据

标签 macos core-data icloud cocoa-bindings nsarraycontroller

我正在开发 Mac 和 iOS 应用程序,并使用 iCloud CoreData 来同步数据。

当我从 iOS 应用程序更新某些内容时,并且在 Mac 应用程序运行时更新已迁移到 Mac 应用程序中的 PersistentStore。问题是我找不到有效的方法来强制 NSArrayController 从存储中重新加载所有数据。

尝试过 -(void) fetch:(id)sender;只能看到删除或添加的实体,但更新后的模型属性未刷新...

请帮忙。谢谢

最佳答案

如果您在托管对象上下文中看到最新数据,但在数组 Controller 中看不到,则您需要:

[_yourManagedObjectContext processPendingChanges];
[_yourArrayController fetchWithRequest:nil merge:YES error:&error];
[_yourArrayController rearrangeObjects];

我在 Mac/iOS iCloud 应用程序中使用此功能,以便在 iCloud 存储更改时更新 Mac 应用程序的数据。

关于macos - 如何强制 NSArrayController 重新加载 MOC 内容以反射(reflect)最新的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14049027/

相关文章:

macos - mac high sierra tomat 如何更改端口 8080

oauth-2.0 - 是否有 iCloud 网络 API?

linux - 如何检查包含变量的字符串是否存在于 bash 的特定文件中?

objective-c - 使用 ARC 临时保留对象的最佳方法

objective-c - 使用 OSX 可执行文件连接 GCDAsyncSocket 时出现问题

swift - 保存并从 CoreData 中的 TextField 获取

iphone - 如何在父实体的获取请求的谓词中引用子实体名称?

swift - 自引用实体,为了与 NSFetchedResultsController 建立父子关系

ios - 开发人员可以在 Windows 应用程序中使用 iCloud 吗?

objective-c - 如何跨设备共享保存的游戏?