| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- //
- // JKNetworkSessionDelegate.m
- // Test Upload Progress
- //
- // Created by Jack on 2017/1/11.
- // Copyright © 2017年 mini1. All rights reserved.
- //
- #import "RANetworkTaskDelegate.h"
- @interface RANetworkTaskDelegate ()
- @property (nonatomic,strong) NSMutableData *recvData;
- //@property (nonatomic,strong) NSMutableDictionary *result;
- @end
- @implementation RANetworkTaskDelegate
- + (instancetype)sharedInstance {
- RANetworkTaskDelegate *obj = nil;
- obj = [[RANetworkTaskDelegate alloc] init];
- obj.recvData = [NSMutableData data];
- // obj.result = [[JKNetworkResult alloc] init];
- return obj;
- }
- #pragma mark - NSURLSessionTaskDelegate
- - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSendBodyData:(int64_t)bytesSent totalBytesSent:(int64_t)totalBytesSent totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {
-
- double progress = (double)totalBytesSent / totalBytesExpectedToSend;
-
- if (self.p) {
- self.p(progress);
- }
- }
- - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error {
-
- // if (self.decryptHandler) {
- //
- // self.result.decryptHandler = self.decryptHandler;
- //
- // }
- //
- // if (error) {
- //
- // self.result.error = error;
- //
- // NSLog(@"Delegate recv Error: %@",error.localizedDescription);
- //
- // }
- //
- // self.result.data = self.recvData;
- //
- // NSLog(@"Delegate recv data %@",self.recvData);
- //
- //
- //
-
- if (self.r) {
-
-
- if(self.recvData==nil)
- {
- self.r(nil);
- return;
-
- }
-
- NSMutableString *str = [[NSMutableString alloc] initWithData:self.recvData encoding:NSUTF8StringEncoding];
-
- NSLog(@"data string: %@",str);
-
- NSError *error1=nil;
- NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:self.recvData options:NSJSONReadingMutableLeaves error:&error1];
- if(jsobj==nil)// 服务器返回不是json
- {
-
- jsobj=[NSMutableDictionary new];
- [jsobj setValue:@"-20" forKey:@"result"];
-
- }
-
- self.r(jsobj );
-
- }
- //
- [session invalidateAndCancel];
- }
- #pragma mark - NSURLSessionDataDelegate
- - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition))completionHandler {
-
- NSLog(@"Delegate recv response: %@",response);
-
- // self.result.response = response;
- completionHandler(NSURLSessionResponseAllow);
-
- }
- - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data {
-
- [self.recvData appendData:data];
- }
- @end
|