cocoa - 在后台操作完成后进行 NSArrayController 获取

标签 cocoa concurrency

我有一个链接到核心数据模型的 NSArrayController 子类。在我调用的方法之一中

[self performSelectorInBackground:@selector(someLongExpensiveOperation:) withObject:obj];

它在后台导入大量核心数据对象。

问题是,除非我在界面上手动添加获取按钮并在导入操作完成后单击它,否则数组 Controller 不会自行更新以反射(reflect)新的数据模型。关于如何强制阵列 Controller 更新有什么想法吗?

编辑:

结果我也遇到了一些并发问题,因为 NSManagedObjectContext 不应该是线程安全的。也必须考虑到这一点,然后它就开始起作用了。

最佳答案

在 someLongExpectiveOperation: 方法的末尾调用prepareContent。

关于cocoa - 在后台操作完成后进行 NSArrayController 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8621117/

相关文章:

java - 是否可以使用 Executors.newWorkStealingPool() 编写递归 fork join 解决方案?

cocoa - 非基于文档的 Cocoa 应用程序中的多个窗口

macos - CGFontGetGlyphWithGlyphName() 出现问题

objective-c - 更改播放 mp3 的 QTMovie 的音量

cocoa - 有没有办法在 NSTableView 中使用与可编辑 NSSecureTextFieldCell 的绑定(bind)?

concurrency - Azure 表存储上的自动增量

java - 如何将 completableFuture.supplyAsync() 的返回类型分配给对象?

JavaFX 并发 - 使用任务,该任务在线程中运行,但挂起 UI

python - 在 Python 中划分大文件以进行多处理的最佳方法是什么?

objective-c - 无法在 Mac 应用程序中添加自定义字体 (OSX 10.9+ Xcode5+)