ios 网络请求 笔记

iOS与Android同步POST请求处理

同步post请求

NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];
    //读取本地缓存的已配置的分类
    self.app1category=[userDefaults arrayForKey:@"User1Category"];
    self.app2category=[userDefaults arrayForKey:@"User2Category"];

    //将推送ID缓存在本地
    NSString *registerId=[userDefaults stringForKey:@"registrationIDs"];
    if(registerId==nil||registerId.length==0){
        NSLog(@"开始获取jpushid");
        registerId=[APService registrationID];
        [userDefaults setObject:registerId forKey:@"registrationIDs"];
         NSLog(@"完成获取jpushid==%@",registerId);
        [userDefaults synchronize];
    }

    //获取缓存中的分类设置
    NSMutableArray *classids=[NSMutableArray arrayWithCapacity:10];;
    for (int i=0; i<self.app1category.count; i++) {
        [classids addObject:[NSString stringWithFormat:@"%@",[self.app1category[i] classId]]];
    }
    for (int i=0; i<self.app2category.count; i++) {
        [classids addObject:[NSString stringWithFormat:@"%@",[self.app2category[i] classId]]];
    }
    
    NSString *stringurl = [NSString stringWithFormat:@urlxxx", BaseURLString];
    NSURL *url = [NSURL URLWithString:stringurl];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setHTTPMethod:@"POST"];
    NSString *post = [NSString stringWithFormat:@"canshumingcheng",[userDefaults stringForKey:@"userImei"],registerId,[classids componentsJoinedByString:@","]];//设置参数
    NSData *param=[post dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:param];
    NSError *error;
    NSHTTPURLResponse *response=nil;
    [request setTimeoutInterval:5];
    NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    if (error) {

    }else{
        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];

        NSDictionary *info=[dict infoOne];
        //app1分类
        NSDictionary *app1=[info app1];
        NSMutableArray *new1Category=[app1 newCatagory];
        NSMutableArray *all1Category=[app1 allCatagory];
        NSMutableArray *selected1Category=[app1 selectedCatagory];
        if(self.app1category==nil||new1Category.count>0){
            self.app1category=selected1Category;
            [userDefaults setObject:self.app1category forKey:@"User1Category"];
        }
        [userDefaults setObject:all1Category forKey:@"All1Category"];
        
        //app2分类
        NSDictionary *app2=[info app2];
        NSMutableArray *new2Category=[app2 newCatagory];
        NSMutableArray *all2Category=[app2 allCatagory];
        NSMutableArray *selected2Category=[app2 selectedCatagory];
        if(self.app2category==nil||new2Category.count>0){
            self.app2category=selected2Category;
            [userDefaults setObject:self.app2category forKey:@"User2Category"];
        }
        [userDefaults setObject:all2Category forKey:@"All2Category"];
    }

    
    //app1和app2选中的所有分类合集
    self.category =[NSMutableArray arrayWithCapacity:10];
    [self.category addObjectsFromArray:self.app1category ];
    [self.category addObjectsFromArray:self.app2category];
    [userDefaults setObject:self.category forKey:@"UserCategory"];
    [userDefaults synchronize];
    return self.category;

异步get请求

-(void)setData:(NSString *) begin_id setFlag:(NSInteger) classIds{
    NSString *string= [NSString stringWithFormat:@"urlxxx", BaseURLString,(long)classIds,begin_id];

    NSURL *url = [NSURL URLWithString:string];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setTimeoutInterval:5];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    operation.responseSerializer = [AFJSONResponseSerializer serializer];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

        self.docs=(NSMutableDictionary *)responseObject;

        if([[self.docs info] count]==0){
            [CommenData showLisetMesg:self.navigationController.view];
        }
        NSMutableArray *doclist=[[NSMutableArray alloc]initWithCapacity:10];
        [doclist addObjectsFromArray:self.infos];
        [doclist addObjectsFromArray:[self.docs info]];
        self.infos=doclist;
        [self.tableView reloadData];
        // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
        [self.tableView footerEndRefreshing];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
       [CommenData showNetError:self.navigationController.view];
        // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
        [self.tableView footerEndRefreshing];
    }];
    [operation start];
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值