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

网络解析封装类

2015-09-09 19:14 483 查看
    // 1. 创建请求

    

    NSString *urlstr = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSURL *url = [NSURL URLWithString:urlstr];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

    request.HTTPMethod = @"GET";

    

    // 2. 发送请求

    

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

        

    // 3. 处理数据

        if (data == nil) {

            //
请求不到数据时 加载本地数据

            NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

            NSString *str = [NSString stringWithFormat:@"%@.xml",ID];

            NSString *strPath = [path stringByAppendingPathComponent:str];

            data = [NSData dataWithContentsOfFile:strPath];

            NSLog(@"str:%@",data);

            block(data);

        }

        else{

            //
有网时得到请求数据 并更新本地数据

            block(data);

            NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

            NSString *str = [NSString stringWithFormat:@"%@.xml",ID];

            NSString *strPath = [path stringByAppendingPathComponent:str];

            [data writeToFile:strPath atomically:YES];

        }

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