代码改变世界

bmob (网络请求图片和传值的功能)

2015-09-20 23:59  真实16  阅读(957)  评论(0编辑  收藏  举报

第一步: 分别在bmob中的开发文档中拖入12个文件(加上一个下载的文件)

第二步:在main中,粘贴相应的代码(注意自己的bmob的application 的ID地址)

第四步:复制bmob中开发文档的(查询数据:对应的代码)

//查找GameScore表的数据

myArray = [NSMutableArray array];

    [bquery findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {

        for (BmobObject *obj in array) {

            //打印playerName

            NSLog(@"obj.playerName = %@", [obj objectForKey:@"image1"]);

            //打印objectId,createdAt,updatedAt

            //            NSLog(@"obj.objectId = %@", [obj objectId]);

            //            NSLog(@"obj.createdAt = %@", [obj createdAt]);

            //            NSLog(@"obj.updatedAt = %@", [obj updatedAt]);

            

  NSMutableDictionary *dic = [NSMutableDictionary dictionary];

            

      // way,name(表示的是bmob中,每一列的关键字)

            

//            获取旅游的方式

            [dic setObject:[obj objectForKey:@"way"] forKey:@"way"];

            

 

     [myArray addObject:dic];

        }

        

         [self creatTableView];

 

                

    }];    

}

 特别注意的事,先初始化一个可变字典,里面添加bmob中查询的数据

                       在可变的数组中: 让可变字典赋值给可变数组

      初始化可变字典 和初始化可变数组的位置是不可以改变{可变数组必须在bmob请求的前面,可变字典必须要在for循环的里面}

如果:初始化可变数组(在for循环的里面 或者是 后面,会导致只有一组数据)

       初始化可变字典(放在for循环外边)会导致,输出的每一组数据都是一样的

       

                        bmob中的传值:

[需要传值的到页面]

#pragma mark --------cell 上面的点击跳转的页面

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

 

 detail.name = myArray[indexPath.row][@"name"];

 

}

 

接受传值的页面

 声明文件(.m)定义属性

//用于从 bmob 中查找这个值对应的数据

@property  (nonatomic,copy)NSString *name;

 

#pragma mark --------获得本详情页中还需要的数据-----------

 

//    其中@“surrounding”表示的表示的是bmob中表的表名

//    @"name" 表示的bmob中每一列的关键字

//    self.name 表示的是属性传值:name

    

    BmobQuery *bquery = [BmobQuery queryWithClassName:@"surrounding"];

    [bquery whereKey:@"name" equalTo:self.name];

    

    //查找GameScore表的数据

    [bquery findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {

        for (BmobObject *obj in array) {

//            NSMutableDictionary *dic;

//              dic = [NSMutableDictionary dictionary];

//            [dic setObject:[obj objectForKey:@"detail"] forKey:@"detail"];

//            [dic setObject:[obj objectForKey:@"caoHai"] forKey:@"caoHai"];

//            NSLog(@"---------------%@",dic);

 

注意: @“detail”。。。。。表示的事bmob中表的每一列(对应的key值)

            

            [iamgeArray addObject:[obj objectForKey:@"detail"]];

            [iamgeArray addObject:[obj objectForKey:@"caoHai"]];

            [iamgeArray addObject:[obj objectForKey:@"dongFengHu"]];

            [iamgeArray addObject:[obj objectForKey:@"xiJiang"]];

            

           

        

        }

        [self creatView];

        

        NSLog(@"取出的数组%@",iamgeArray);

    }];

}

 

  for (int i = 0; i < iamgeArray.count; i++) {

        imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0+WIDTH*i,0 , CGRectGetWidth(tableView.tableHeaderView.frame), HEIGHT/3)];       

//请求下来的网络图片

        NSURL *url = [NSURL URLWithString:iamgeArray[i]];

        NSData *data = [NSData dataWithContentsOfURL:url];

        

//        添加图片

        imageView.image= [UIImage imageWithData:data];

        

        

        

        

        

        //        在滚动视图上添加图片

        [myscrollView addSubview:imageView];

    };