类方法和线程安全(NSJSONSerialization)

kub*_*uba 8 cocoa objective-c thread-safety ios

在我的iOS应用程序中,我正在后台线程(使用performSelectorInBackground)中做一些工作.在这个线程中,我使用NSJSONSerialization及其类方法来解析JSON字符串:

self.json = [NSJSONSerialization JSONObjectWithData:self.data options:0 error:nil];
Run Code Online (Sandbox Code Playgroud)

这个类的方法(JSONObjectWithData)线程安全吗?我能确定吗?它在文档中写在哪里?

我知道实例方法通常不是线程安全的,除非文档说它们是.我是否可以说类方法是线程安全的,除非另有说明?

Leo*_*eon -1

托管内容不是线程安全的。您可以在主线程上运行代码,也可以在后台运行代码,并在后台线程完成处理后使用 NSNotificationCenter 开始重新加载 UI。

  • 问题(据我所知)是同时从多个线程调用“[NSJSONSerialization JSONObjectWithData:...]”是否安全,而不是从后台线程修改 UI。 (2认同)