您的位置:首页 > 理论基础 > 计算机网络

iOS封装网络请求

2015-02-28 12:52 357 查看
iOS中经常会有网络请求,可以把它封装起来,方便使用:
网络封装请求类:
.h文件:

#import <Foundation/Foundation.h>

@interface NetHandler :
NSObject

//无返回值,根据网络请求
的特点,不同的地方就是请求的地址和分析数据的方式不一样,就是把这两部分分别作为方法参数
+ (void)getDataWithUrl:(NSString *)str complietion:(void(^)(NSData
*data))block;

.M文件:

若用的接口是post请求,直接可以把get改成post即可

#import "NetHandler.h"

@implementation NetHandler

+ (void)getDataWithUrl:(NSString *)str complietion:(void (^)(NSData
*))block
{

    NSString * urlStr = [str
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    
   
NSURL *url = [NSURL
URLWithString:urlStr];

    NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60];

    
    request.HTTPMethod =
@"GET";

    ////////////连接建立
    [NSURLConnection
sendAsynchronousRequest:request
queue:[NSOperationQueue
mainQueue] completionHandler:^(NSURLResponse *response,
NSData *data, NSError *connectionError) {

        

        ////处理
数据
       
if (data != nil) {

            //当返回的数据不是空,就调用block
            block(data);
        }

        

        

        
        block(data);

        

        //让有关视图刷新
刷新数据

        ///[tableView reloadData];

        //label.text = ...

        

        

        

        
    }];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 数据 ios iphone url