I want a method running on a background thread to reissue itself after it is 
done processing. How can I do this?

I'm using the following code but it runs just once and is never heard from 
again...

    // initial invocation from main thread
    [self performSelectorInBackground:@selector(_checkSensor:) withObject:@50];


// target method on background thread
-(void)_checkSensor:(NSNumber *)delaySecs
{
    // check sensor...
    // processing...

    // reschedule
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:_cmd 
object:nil];
    [self performSelector:_cmd withObject:nil afterDelay: delaySecs];
}

As a test, the above works if run on the main thread, so I'm guessing it has 
something to do with there being no runloop after the background thread exits. 
-Carl


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to