Я вызываю сервисный метод через NSTimer
через каждые 3 секунды. Однако перед каждым вызовом этого метода я хочу проверить, завершен ли предыдущий таймер или нет. Я сделал следующее, что не привело к успеху.
timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(CallParseOperation) userInfo:nil repeats:YES];
CheckOperation :
-(void)CheckOperation{
if([Data getInstance].kOperation == TRUE)
{
[self CallParseOperation];
}
}
CallParseOperation :
-(void)CallParseOperation{
[Data getInstance].kOperation = FALSE;
operationQueue=[[NSOperationQueue alloc] init];
ParseOperation *obj=[[ParseOperation alloc] initWithMembers:ID];
NSInvocationOperation *reloadOp = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(tableReload) object:nil];
[reloadOp addDependency:obj];
[operationQueue addOperation:obj];
[operationQueue addOperation:reloadOp];
//[operationQueue waitUntilAllOperationsAreFinished];
[obj release];
[reloadOp release];
}
Где-то в конце этой реализации я устанавливаю bool
как TRUE
. Но это не работает. Элемент управления просто застрял внутри этого таймера.