bmob (网络请求图片和传值的功能)
2015-09-20 23:59 真实16 阅读(975) 评论(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];
};