iOS 請求失敗后,取消網絡請求減少內存消耗

//DD_V_T_APIClient 繼承自 AFHTTPSessionManager

- (void)cancelRequet:(NSString *)requestPath {

//1.先獲取所有的任務,包括請求,下載,上傳等

? ? [[[DD_V_T_APIClient sharedClient] session] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {

//2.調用取消請求

? ? ? ? [self cancelTasksInArray:dataTasks withPath:requestPath];

? ? ? ? [self cancelTasksInArray:uploadTasks withPath:requestPath];

? ? ? ? [self cancelTasksInArray:downloadTasks withPath:requestPath];

? ? }];

}

- (void)cancelTasksInArray:(NSArray *)tasksArray withPath:(NSString *)path {

//3.遍歷該請求類型下所有的網絡請求

? ? for (NSURLSessionTask *task in tasksArray) {

? ? ? ? NSRange range = [[[[task currentRequest] URL] absoluteString] rangeOfString:path];

//4.如果該請求的地址找不到,取消任務

? ? ? ? if (range.location != NSNotFound) {

? ? ? ? ? ? [task cancel];

? ? ? ? }

? ? }

}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容