码迷,mamicode.com
首页 > 移动开发 > 详细

iOS_GET_网络请求

时间:2015-07-21 18:41:20      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:网络请求   get   同步   异步   ios   

同步的 get 请求

#pragma mark - 同步的 get 请求
- (IBAction)GETSynButtonDidClicked:(UIButton *)sender {

    // 1、网址里面必须写 http://
    NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

    // 2、如果网址有汉字需要转换(没有汉字也可以写)
    urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    // 3、根据字符串创建 url(统一资源定位符)
    NSURL *url = [NSURL URLWithString:urlString];

    // 4、根据 url 创建 request 请求类的对象
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    // 5、开始去请求网络、数据(同步) 返回data
    NSData *receiveData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

    // 6、系统自带json解析
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:receiveData options:(NSJSONReadingMutableContainers) error:nil];

    NSArray *array = dict[@"news"];

    self.newsArray = [NSMutableArray array];

    for (NSDictionary *smallDict in array) {
        NewsModal *modal = [[NewsModal alloc] init];
        [modal setValuesForKeysWithDictionary:smallDict];
        [self.newsArray addObject:modal];
    }

    for (NewsModal *modal in self.newsArray) {
        NSLog(@"%@", modal.title);
    }
}

异步的 get 请求

#pragma mark - 异步的 get 请求
- (IBAction)GETAsyButtonDidClicked:(UIButton *)sender {

    // 1、拼接 urlString,网址里面必须写 http://
    NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

    // 2、根据字符串创建 URL(统一资源定位符)
    NSURL *url = [NSURL URLWithString:urlString];

    // 3、根据 url 创建 request 请求类的对象
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    // 4、开始去请求网络、数据(同步) 返回data
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

        // 5、系统自带json解析
        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];

        NSArray *array = dict[@"news"];

        self.newsArray = [NSMutableArray array];

        for (NSDictionary *smallDict in array) {
            NewsModal *modal = [[NewsModal alloc] init];
            [modal setValuesForKeysWithDictionary:smallDict];
            [self.newsArray addObject:modal];
        }

        for (NewsModal *modal in self.newsArray) {
            NSLog(@"%@", modal.title);
        }

    }];
}

版权声明:本文为outlan原创文章,未经博主允许不得转载。

iOS_GET_网络请求

标签:网络请求   get   同步   异步   ios   

原文地址:http://blog.csdn.net/yadong_zhao/article/details/46989249

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!