在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];
}