Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JoshAK

macrumors newbie
Original poster
Aug 12, 2008
19
0
I'm trying to write a script that will update an image then pause or sleep for 2 seconds and then set a different image.

Currently I'm using sleep(2). But it sleeps first and then updates the images after. I want to update first then pause then update again. Any help would be nice. Thanks
 

firewood

macrumors G3
Jul 29, 2003
8,141
1,384
Silicon Valley
Any sleep() or delay inside the main thread blocks all UI activity, including pending display updates. Thus, it's the wrong paradigm for Cocoa. Don't do it.

Instead, learn to use NSTimers to call your methods, and let these methods do what you want to do at any point in time in the future. You may have to save the state of what you want to do next or later in static, global, or object variables, but that's a trivial problem for the student.

The only time this may be difficult is inside deeply recursive routines. You may want to run those in a background (non UI) thread instead.

.
 

JoshAK

macrumors newbie
Original poster
Aug 12, 2008
19
0
Thanks!

Thanks for the reply. Can you give me an example of how I could us an NSTimer to delay or pause for 2 seconds? I'm new to xcode/cocoa and I'm not sure how to accomplish this. Thanks for the help.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.