• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window


  • Subject: Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window
  • From: Andrew Merenbach <email@hidden>
  • Date: Sat, 18 Oct 2008 19:36:01 -0700


On Oct 18, 2008, at 7:27 PM, Andrew Merenbach wrote:

On Oct 18, 2008, at 4:23 AM, Peter Zegelin wrote:

Hi,

Still fairly new to Cocoa here.

I have a high priority thread that that for the moment just calls back as often as possible to a method that updates a static text object with the current time. A slider is also updated to a new value. Its a bit like a stop watch with a position indicator. This all works well until I resize a window or invoke a menu when the whole thing just grinds to a halt. If I call std::cout with the value the debugger shows a continuous stream of data so I know the thread is still being called as often as possible but the text and slider aren't updating. Is there any way to get these items to update under these circumstances? I tried calling [label setNeedsDisplay] but that just caused a crash.


thanks!

Peter Zegelin

Hi, Peter,

Is it possible that your GUI objects are being updated from the secondary thread? You'll need to use -performSelectorOnMainThread: to channel updates from the high-priority thread to the main thread, since only the main thread is allowed to touch the graphical AppKit classes (which are generally not threadsafe, with the possible exception of NSProgressIndicators). Hopefully this solves your issue!

Cheers,
	Andrew


Erm, sorry to respond to myself, but I was lazy -- just for clarity, the full methods available are (from the docs):


- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait modes:(NSArray *)array;


-- Andrew

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

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

  • Follow-Ups:
    • Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window
      • From: Peter Zegelin <email@hidden>
References: 
 >Updating a Static Text and Slider From High Priority Thread While Resizing a Window (From: Peter Zegelin <email@hidden>)
 >Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window (From: Andrew Merenbach <email@hidden>)

  • Prev by Date: Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window
  • Next by Date: Views, frames, and bounds
  • Previous by thread: Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window
  • Next by thread: Re: Updating a Static Text and Slider From High Priority Thread While Resizing a Window
  • Index(es):
    • Date
    • Thread