zoukankan      html  css  js  c++  java
  • 网络请求方法(SDK封装可以替换afn)

    //个人觉得 sdk开发时候 最好不要用第三方 最好可以用最原始的方法 替换 此处仅做sdk封装使用  留存
    +(void)GET:(NSString *)urlStr params:(NSDictionary *)params sucess:(void (^)(NSURLSessionDataTask *task, id responseObject))sucess failure:(void (^)(NSURLSessionDataTask *task, NSError * error))failure { urlStr = [self URLEncodedStringValue:params url:urlStr]; NSURL *URL = [NSURL URLWithString:urlStr]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; [request setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; __block NSURLSessionDataTask *task= nil; task = [session dataTaskWithRequest:request completionHandler: ^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { failure(task,error); } else { NSError *jsonError = nil; id notesJSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&jsonError]; if (!jsonError) { if (sucess) { sucess(task,notesJSON); } } else { if (failure) { failure(task,jsonError); } } } }]; [task resume]; } + (NSString *)URLEncodedStringValue:(NSDictionary *)Parameter url:(NSString *)urlStr { if (Parameter) { urlStr = [urlStr stringByAppendingString:@"?"]; NSArray *keys =[Parameter allKeys]; for (int i=0;i<keys.count;i++) { NSString *key = [keys objectAtIndex:i]; NSString *value = [Parameter objectForKey:key]; if (i==0) { urlStr = [urlStr stringByAppendingFormat:@"%@=%@",key,value]; } else { urlStr = [urlStr stringByAppendingFormat:@"&%@=%@",key,value]; } } } urlStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet]; return urlStr; }
  • 相关阅读:
    listview右边显示 abcd快速选择
    显示密码
    欢迎界面动画
    web get Post测试
    使用MultiDexApplication
    获取当前运行的Activity信息
    MFC得到运行程序路径
    构建之法阅读笔记01
    个人作业1:随机生成四则运算
    软件工程第一步
  • 原文地址:https://www.cnblogs.com/dujiahong/p/6674074.html
Copyright © 2011-2022 走看看