• 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: How to Delay, Wait, Pause...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to Delay, Wait, Pause...


  • Subject: Re: How to Delay, Wait, Pause...
  • From: Jens Alfke <email@hidden>
  • Date: Sun, 25 May 2008 00:05:58 -0700


On 24 May '08, at 11:45 PM, Steve Steinitz wrote:

I don't want to use NSTimer because I just want to resume where I left off. I don't want to be in a tight loop because I need the system to finish something. I just want to pause execution for a short time. I think there was a wait() in OS9. I found a wait() in wait.h but it wants an int * and made me nervous.

usleep( ) is the basic call. The parameter is in microseconds, so usleep(100000) would sleep 1/10 second.


Specifically, when I send a fetch message to an NSArrayController, it sometimes takes a fraction of a second for its selection to become valid. Currently I fire an NSTimer to call a 'part 2' method to finish what I am doing (scrolling the selection into view), but it lacks niceness.

The problem is, if your thread is sleeping, who's updating the array controller? Unless you know that it's somehow happening on a background thread (and that doesn't seem likely), the sleep isn't going to do any good.


A simpler alternative to using a timer is to call [self performSelector:withObject:afterDelay:]. It uses a temporary timer behind the scenes, but is easier to call. I know what you mean about the annoyance of having to deal with asynchrony by breaking your code up into pieces, but that's basically the way things are done in Cocoa. (I've given some thought to using exotic techniques like coroutines to get around this, but it appears they'd seriously confuse the Obj-C runtime.)

—Jens

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

References: 
 >How to Delay, Wait, Pause... (From: Steve Steinitz <email@hidden>)

  • Prev by Date: Re: Core Data dynamic attributes and fetching
  • Next by Date: Re: How to Delay, Wait, Pause...
  • Previous by thread: Re: How to Delay, Wait, Pause...
  • Next by thread: Re: How to Delay, Wait, Pause...
  • Index(es):
    • Date
    • Thread