Thanks! I knew I was doing it the /old/ way! -Carl
> On May 13, 2016, at 12:56 PM, Doug Hill <cocoa...@breaqz.com> wrote: > > I’ve had luck using dispatch queues to accomplish recurring events, > specifically dispatch_after. For example: > > - (void) doStuffAfterDelay > { > dispatch_queue_t theQueue = dispatch_queue_create("Recurring work queue", > DISPATCH_QUEUE_SERIAL); > dispatch_time_t futureTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 > * NSEC_PER_SEC)); > dispatch_after(futureTime, theQueue, > ^{ > DoStuff(); > > [self doStuffAfterDelay]; > ;}); > } > > You can also use an NSTimer that repeats, such as: > > NSTimeInterval delaySecs = 5; > self.timer = [NSTimer scheduledTimerWithTimeInterval:delaySecs > target:self selector:@selector(doStuff:) > userInfo:nil repeats:YES]; > > Hope this helps. > > Doug Hill > > >> On May 13, 2016, at 12:34 PM, Carl Hoefs <newsli...@autonomy.caltech.edu >> <mailto:newsli...@autonomy.caltech.edu>> wrote: >> >> 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