Method invocation with timer

Method invocation with timer

Method invocation with timer is something every developer sometime needs. First you make an instance of NSInvocation class and you add invocationWithMethodSignature.

invocationWithMethodSignature consists of method selector (which method your invocation will trigger) and target (which object is target). Next you make instance of NSTimer class to define repeat interval. See example below.

- (void) viewDidLoad {

NSInvocation *updateDisplayInvocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector: @selector (myMethod)]];

[updateDisplayInvocation setSelector: @selector (myMethod)];

[updateDisplayInvocation setTarget: self];

NSTimer *audioDisplayUpdateTimer;

audioDisplayUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:3.0 invocation:updateDisplayInvocation repeats:YES];

[super viewDidLoad];

}

- (void) myMethod {

NSLog(@"Method execution");

}

And that is it!

2
Top

Enjoyed this post?

Subscribe to our RSS Feed, Follow us on Twitter and spread it to your friends!

Author

Ivan Kalaica

Senior OSX and iOS SDK Developer

At Inchoo and Surgeworks Ivan Kalaica is a Senior OSX and iOS SDK developer.

Other posts from this author

Discussion 2 Comments

Add Comment
  1. PRASENJIT SINHA

    Hi,
    I have tried the same thing what you have explained above but after the time interval it is not at all going inside the method “my method”.
    Please help me out.
    Thanks

  2. Ivan Kalaica

    Hm, create new xcode project and paste this code to viewController that is initially loaded. It works just fine.

Add Your Comment

Please wrap all source codes with [code][/code] tags.
Top