网络解析封装
来源:互联网 发布:约瑟夫问题c语言详解 编辑:程序博客网 时间:2024/06/04 07:19
在NetworkHandel.h文件里面声明方法
#import <Foundation/Foundation.h>typedef void(^BLOCK)(id result);@interface NetworkHandler : NSObject@property (nonatomic, copy) BLOCK passValue;- (void)getDataWithURLString:(NSString *)urlStr complention:(BLOCK)block;+ (void)connectNetGetDataWithURLString:(NSString *)urlStr complention:(BLOCK)block;- (void)getDataWithURLString:(NSString *)urlStr URLBodyString:(NSString *)bodyStr complention:(BLOCK)block;+ (void)connectNetGetDataWithURLString:(NSString *)urlStr URLBodyString:(NSString *)bodyStr complention:(BLOCK)block;@end
在NetworkHandel.m文件里面实现方法
- (void)getDataWithURLString:(NSString *)urlStr complention:(BLOCK)block{ [self setPassValue:block]; NSString *str = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:str]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.f]; [request setHTTPMethod:@"GET"]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data != nil) { id object = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; [self passValue](object); // NSLog(@"%@", object); } }];}+ (void)connectNetGetDataWithURLString:(NSString *)urlStr complention:(BLOCK)block{ NetworkHandler *net = [[NetworkHandler alloc] init]; [net getDataWithURLString:urlStr complention:block];// [net autorelease];}- (void)getDataWithURLString:(NSString *)urlStr URLBodyString:(NSString *)bodyStr complention:(BLOCK)block{ [self setPassValue:block]; NSString *str = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:str]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.f]; [request setHTTPMethod:@"POST"]; NSData *bodyData = [bodyStr dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:bodyData]; // 连接 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data != nil) { id object = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; [self passValue](object); } }];}+ (void)connectNetGetDataWithURLString:(NSString *)urlStr URLBodyString:(NSString *)bodyStr complention:(BLOCK)block{ NetworkHandler *net = [[NetworkHandler alloc] init]; [net getDataWithURLString:urlStr URLBodyString:bodyStr complention:block];// [net autorelease];}
0 0
- 网络解析封装类
- 网络解析封装
- 封装网络解析方法
- 网络:XML 解析封装
- React Native网络状态解析及封装
- Swift网络请求于数据解析简单封装
- iOS网络开发——解析与封装JSON数据
- iOS 自己封装的网络请求,json解析的类
- 网络数据解析及加载本地 缓存封装
- 同步异步网络请求封装以及数据JSON解析
- iOS 自己封装的网络请求,json解析的类
- RxJava2+Retrofit2实现网络请求和解析封装
- 网络数据封装解析(IP,UDP,TCP)
- 网络封装
- 网络封装
- 网络封装
- iOS 开发 AFNetworking3.0源码解析(一:结构图/网络请求三次封装/上传下载/网络监测)
- 优雅设计封装基于Okhttp3的网络框架(一):Http网络协议与Okhttp3解析
- 一个关于STM8中断应用异常的话题
- 黑马程序员_Java多态性
- EXT 横排列表单样例
- to_char
- Linux下基于bitnami的Redmine安装部署以及结合Subversion的设置
- 网络解析封装
- sheepdog的学习
- 自测-3 数组元素循环右移问题 (20分)
- C++中map容器的说明和使用技巧
- property 描述 之copy assign retain strong weak
- Craftyjs系列6-Assets
- java中的匿名内部类总结
- ASP.NET经典面试题
- [转载]jQuery学习之prop和attr的区别