@interface aClass : NSObject {
NSInteger *timeInterval;
@private
NSManagedObjectContext *moc;
dispatch_source_t timer;
}
@implementation aClass
- (id) init
{
self = [super init];
if (self != nil) {
timer = nil;
}
return self;
}
-(void) start
{
if (!timer) {
//run event handler on the default global queue
timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));
// dispatch_time_t now = dispatch_walltime(DISPATCH_TIME_NOW, 0);
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 3ull*NSEC_PER_SEC, 500ull);
dispatch_source_set_event_handler(timer, ^{
NSLog(@"asdf");
});
dispatch_resume(timer);
} else {
dispatch_resume(timer);
}
}