It seems there are multiple ways to accomplish this 'do-later' task . My goal was to use Objective-C and Cocoa as a solution. Initially, I had worries about 'blocking' the main thread in some way. It turns out NSTimer
is one answer to the question. I ended up using:
NSTimer *timer = [[NSTimer alloc] initWithFireDate:date
interval:0.1
target:self
selector:@selector(startSomeMethod:)
userInfo:info
repeats:NO];
to 'fire' a task at a later time.