我如何解决"NSAlert正在使用后台线程,这是不安全的."

Mac*_*per 1 macos xcode multithreading

我正在使用NSalert来显示弹出窗口.并且要显示的数据被发送到后台线程动态警报.有时我发现弹出空白色.我发现日志NSAlert正在使用后台线程,这是不安全的.那么什么是最安全的方式来运行NSalert

Gil*_*and 5

您可以在警报代码周围使用此块

dispatch_sync(dispatch_get_main_queue(), ^(){ ... });

或者当你显示它时.

self performSelectorOnMainThread
Run Code Online (Sandbox Code Playgroud)