我的Parse数据库上有数据,我正在尝试检索该数据并显示在UICollectionViewCell下的UILabel中。
-(void)viewDidLoad {
[super viewDidLoad];
PFQuery *retrieveClass = [PFQuery queryWithClassName:@"ClassName"];
[retrieveClass findObjectsInBackgroundWithBlock:^(NSArray *objets, NSError *error) {
if (!error) {
classArray = [[NSArray alloc] initWithArray:objets];
NSLog(@"%@", objets);
}
}];
}
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return classArray.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
PFObject *tempDict = [classArray objectAtIndex:indexPath.row];
cell.label.text = [tempDict objectForKey:@"Name"];
NSLog(@"%@",[tempDict objectForKey:@"Name"]);
return cell;
}
classArray是一个NSArray,我创建了一个UICollectionViewCell文件并创建了一个UILabel然后导入到我的主文件中。
我添加了小区标识符,建立了连接,我不知道出了什么问题。
类名是正确的,字段名称是正确的,解析ID和ClientKeys是正确的。
我在查询块下获取日志反馈,但在UICollectionViewCell下没有任何内容。
答案 0 :(得分:1)
更改此行
cell.label.text = [classArray objectAtIndex:indexPath.row];
带
cell.label.text = [tempDict objectForKey:@"Name"];
答案 1 :(得分:0)
尝试重新加载数据
[retrieveClass findObjectsInBackgroundWithBlock:^(NSArray *objets, NSError *error) {
if (!error) {
classArray = [[NSArray alloc] initWithArray:objets];
NSLog(@"%@", objets);
[self.collectionView reloadData];
}
}];
您仍然可以获得任何更新的值,然后使用dispatch_async
块调用它。
dispatch_async(dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
标签值为cell.label.text = [tempDict objectForKey:@"Name"];
希望它会帮助你。
感谢