iOS stop global queue from running

微笑、不失礼 提交于 2019-12-06 16:49:55

You can keep a BOOL property,before every call, you check this property. When you want to stop, set it to YES

@property (atomic) BOOL stop;

Function

-(void)getChatList {
   if (self.stop) {
        return;
   }

dispatch_async(
               dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
                   //Do something
                   dispatch_async(dispatch_get_main_queue(), ^{
                       if (!self.stop) {

                           [self performSelector:@selector(getChatList)
                                      withObject:nil
                                      afterDelay:10];
                       }
                   });


               });
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!