【发布时间】:2012-02-09 11:22:52
【问题描述】:
我每 3 秒调用一次NSTimer 中的服务方法。但是,在每次调用该方法之前,我想检查计时器中的前一个是否完成。我已经完成了以下操作,但没有成功。
timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(CallParseOperation) userInfo:nil repeats:YES];
检查操作:
-(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。但这行不通。控件只是卡在此计时器内。
【问题讨论】: