I'm looking at some old code, and seeing the following if statement:
if ([NSThread currentThread] != [NSThread mainThread])
I have a sneaking suspicion that this is not the same as
if (![[NSThread currentThread] isMainThread])
I'm suspicious because we are getting some crash reports (iOS 6 only) from the field that appear to be caused by code that needs to be run on the main thread that isn't. The code appears to be protected by the former if statement, but given the number of crashes we're seeing I'm not convinced.
Are the two if statements above equivalent, or is it possible the first will fail for some reason?