On 23 May 2015, at 10:42, Jonathan Taylor <jonathan.tay...@glasgow.ac.uk> wrote:
> If only there was a way of annotating properties as 
> only-to-be-used-from-the-main-thread. I've asked something to that effect 
> previously, though, and nobody had any suggestions. I feel there must be a 
> way of designing-in the safety that I need, but I haven't worked out what it 
> might be.

 The closest I got was creating a macro that uses np_thread_main() (or whatever 
it was called exactly, it’s part of the pthreads API, IIRC) and throws if it’s 
not the main thread. I call that e.g. in observeValueForKeyPath overrides 
whenever I make thread-unsafe calls, so I don’t accidentally make a threaded 
call. You could probably write a macro roughly equivalent to @synthesize that 
implements this additional behaviour.

 Of course, it’s only a runtime check, but it’s better than nothing. Sure would 
be fine if the Static Analyzer could be made to understand KVO and threading 
and complain about such uses.

Cheers,
-- Uli Kusterer
“The Witnesses of TeachText are everywhere...”
http://zathras.de


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to