• 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: NSTimer
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTimer


  • Subject: Re: NSTimer
  • From: email@hidden
  • Date: Wed, 31 Aug 2005 15:16:14 -0400

I think you need to add something like

       [[NSRunLoop currentRunLoop] addTimer: timer forMode: NSDefaultRunLoopMode];

for your timers in order to have the run loop run them; otherwise, I think you've created objects that actually aren't going to do anything but sit there.

On Wednesday, August 31, 2005 Christopher Hickman <email@hidden> wrote:

>Message: 2
>Date: Wed, 31 Aug 2005 14:38:58 -0400
>From: Christopher Hickman <email@hidden>
>Subject: NSTimer
>
>Hi folks,
>
>I have an NSTimer that I'm trying to use to periodicly call a method.
>The timer gets created, but it doesn't call my method when it fires.  Here's my code, do you see anything wrong?
>
>-(void)incrementProgressIndicator;
>{
>	NSLog(@"incrementProgressIndicator"); //Never logs
>	//progressIndicator is an NSProgressIndicator IBOutlet of this object
>	//incrementAmount is a double ivar with a written accessor
>	if (progressIndicator != nil) {[progressIndicator incrementBy:[self incrementAmount]];}
>}
>
>-(void)incrementProgressIndicatorEveryTimeInterval:
>(NSTimeInterval)seconds iterations:(int)iterations;
>{
>	NSLog(@"incrementProgressIndicatorEveryTimeInterval: %f iterations: %i", seconds, iterations);
>	NSTimer *incrementerTimer;
>	NSInvocation *incrementerInvocation;
>
>	incrementerInvocation = [NSInvocation invocationWithMethodSignature: [self  methodSignatureForSelector:  @selector(incrementProgressIndicator)]];
>
>	incrementerTimer = [NSTimer scheduledTimerWithTimeInterval:seconds invocation:incrementerInvocation repeats:YES];
>
>	//incrementerTimer needs to be invalidated after it fires (iterations) times, so we set up a
>	//second timer to wait (seconds * iterations) seconds and invalidate the original timer
>	[NSTimer scheduledTimerWithTimeInterval:(seconds*iterations) invocation:[NSInvocation invocationWithMethodSignature: [incrementerTimer methodSignatureForSelector:@selector(invalidate)]] repeats:NO];
>
>}

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • RE: NSTimer
      • From: "Christopher Hickman" <email@hidden>
  • Prev by Date: Re: need help understanding and learning memory managment..
  • Next by Date: Re: NSTimer
  • Previous by thread: RE: NSTimer
  • Next by thread: RE: NSTimer
  • Index(es):
    • Date
    • Thread