【发布时间】:2017-07-26 22:17:34
【问题描述】:
我有一个旧版 carbon 应用程序,它使用 MPRemoteCall 来在应用程序的主线程上发生错误时显示一个断言对话框。有时,断言发生在不应执行 UI 工作的工作线程中。但是它很久以前就被弃用了,我想知道替换 API 是什么?
【问题讨论】:
标签: macos macos-carbon
我有一个旧版 carbon 应用程序,它使用 MPRemoteCall 来在应用程序的主线程上发生错误时显示一个断言对话框。有时,断言发生在不应执行 UI 工作的工作线程中。但是它很久以前就被弃用了,我想知道替换 API 是什么?
【问题讨论】:
标签: macos macos-carbon
我认为- [NSObject performSelectorOnMainThread:withObject:waitUntilDone:] 可能是最接近MPRemoteCall() 的类似物。
GCD/blocks 也应该可以工作:
dispatch_sync(dispatch_get_main_queue(), ^{
// do work here
});
如果您的应用仍在使用 Carbon 事件循环,希望这些能够正常工作——我过去在 Carbon 应用中使用 Cocoa 计时器功能时遇到过问题。
【讨论】: