int nowloopId = 0;
- (void)testDisAfter:(int) loopId {
if (nowloopId != loopId) {
return;
}
/// doing something
double delayInSeconds = 1.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
__weak typeof (self) wself = self;
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[wself testDisAfter:loopId];
});
}
这样通过 nowloopId++; 来控制 testDisAfter 循环关闭 会不会有问题. nowloopId++; 在主线程执行
总感觉这样操作看着不对. 但是又找不出不对的地方. 所以想请教一下各位。
还有就是. 这样的方式 和 使用 NSTimer 对比