I have a static method that creates a NSTimer and runs it in the background thread, like so:
+ (void) callInBackgroundThread {
NSTimer *timer = [NSTimer timerWithTimeInterval:0.2
target:self
selector:@selector(callToMainThread)
userInfo:nil repeats:NO];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
and then i call the main thread upon completion like so:
+ (void) callToMainThread{
NSTimer *timer = [NSTimer timerWithTimeInterval:0
target:self
selector:@selector(foo1)
userInfo:nil repeats:NO];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
}
While this works i feel that this is quite sketchy and I wonder if there is a better way of doing this. I would appreciate suggestions, please note that the methods where are static.
Any help would be appreciated.
Regards