Why does GETTING the bounds or frame of an NSView create a main thread checker issue?

Is it intentional that the main thread checker flags up that any reading of an NSView's bounds or frame properties? Obviously if setting those properties then it should be done on the main thread but I'm struggling to see why reading them should create a warning.


Happy to be enlightened..!

Replies

Because the main thread could be partway through modifying the frame/bounds at the time the background thread reads them. The background could get bogus values as a result.


To make it safe, Cocoa would have to synchronize the accesses. It doesn't and Apple doesn't want to make it do so.