我正在查看一些旧代码,并看到以下 if 语句:
if ([NSThread currentThread] != [NSThread mainThread])
我有一个偷偷摸摸的怀疑,这不一样
if (![[NSThread currentThread] isMainThread])
我很怀疑,因为我们从该字段中获得了一些崩溃报告(仅限 iOS 6),这些报告似乎是由需要在非主线程上运行的代码引起的。该代码似乎受到前一个 if 语句的保护,但考虑到我们看到的崩溃次数,我不相信。
上面的两个 if 语句是否等效,或者第一个语句是否可能由于某种原因而失败?