Binding and multithreading
Binding and multithreading
- Subject: Binding and multithreading
- From: "Jan E. Schotsman" <email@hidden>
- Date: Fri, 23 Mar 2012 23:32:30 +0100
Jonathan Taylor wrote:
I have been struggling with a problem which I think I have
eventually realised is down to me not handling multithreading issues
properly. The situation is I have some computationally-demanding
code that is running in a separate thread. This has input parameters
and state variables associated with it. For diagnostic reasons I
would like to be able to display the values of the state variables
in the GUI. I had intended to do this just by binding to them.
However I am getting occasional "message sent to deallocated
instance" errors which I suspect are a symptom of the fact that I am
Doing It Wrong. Further reading suggests that because of the way
bindings work, modifying those state variables is leading to binding/
gui type stuff happening away from the main thread, which appears
not to be permitted.
I use KVO for this. Have your main thread observe the state variables
(declared as properties) and update the GUI in your
observeValueForKeyPath:ofObject:change:context: method.
I hope this is elegant enough for you ;-)
Jan E.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden