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 对比
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.