Re: updating NSView on separate thread
Re: updating NSView on separate thread
- Subject: Re: updating NSView on separate thread
- From: Patrick Cusack <email@hidden>
- Date: Sun, 31 Jan 2010 20:02:45 -0800
As I understand then, all drawRect methods must be made from the main thread. If I have a process running in the main thread, like an import thread which mike take 5 seconds, then it impossible for me to have a secondary thread which can update an NSView concurrently while the main thread is processing. Is this your understanding as well?
patrick
On Jan 31, 2010, at 4:58 PM, Kyle Sluder wrote:
> On Sun, Jan 31, 2010 at 4:19 PM, <email@hidden> wrote:
>> I have overlaid a transparent window over my NSDocument's main window. My intent is to draw textual notifications to it, such as "Processing...", "20 things selected...". The idea is partially experimental, etc. I thought it would be neat to display a spinning icon in the a subclassed content view of the overlay window when the program is doing something lengthy like saving, exporting pdfs, etc. A created a new thread that would run for the duration of an operation. This thread would call drawrect which would draw my spinning icon. I create the new thread before a length operation. I assume that the lengthy operation would occur on the main thread while the drawing operation happens on the secondary thread. Utlimately my drawrect method doesn't get called in the secondary thread. Am I going about this all wrong?
>
> This is all well-trodden ground. A Google search for "NSView secondary
> thread" yields a bounty of helpful results. In summary: AppKit isn't
> thread-safe, except where explicitly documented. The general approach
> is to use -performSelectorOnMainThread: to have your secondary thread
> inform the main thread it should update the view.
>
> --Kyle Sluder
_______________________________________________
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