如何用按钮取消 "dispatch_get_main_queue"?

How to cancel a "dispatch_get_main_queue" with a Button?

我正在尝试为任务调用编写代码 API,这里的问题是屏幕何时显示 仍在后台 运行 的任务:

[[JPNetworkingManager sharedManager] getSnapNSendsForLetterWithID:letterID withIsArchived:isArchived completionHandler:^(NSArray *snapNSends, NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
         //do my code
        });
}];

那么我该如何取消这个任务呢?谢谢!

你需要确保这个apireturns完成一次

[[JPNetworkingManager sharedManager] getSnapNSendsForLetterWithID

或者这样做

var once = true 

[[JPNetworkingManager sharedManager] getSnapNSendsForLetterWithID:letterID withIsArchived:isArchived completionHandler:^(NSArray *snapNSends, NSError *error) {

    if once { 

       dispatch_async(dispatch_get_main_queue(), ^{
            //do my code
       }); 

       once = false
    }
}