如何在tableview中显示parse.com数据库中所有用户的列表,然后当他们点击每个表时,显示该特定用户的信息。
我所知道的是,为了查询我必须使用的用户:
PFQuery *query = [PFUser query];
提前感谢您,非常感谢任何帮助。
答案 0 :(得分:1)
您真的在询问有关Parse查询的具体问题,但看起来您通常不了解查询,所以只需从对Parse的一般查询开始:
PFQuery *query = [PFQuery queryWithClassName:@"_User"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
// Something went wrong
} else {
// objects is an array of PFObject containing your results
}
}];
如您所知,您还可以通过创建第一行来执行用户查询:
PFQuery *query = [PFUser query];
其余的都是一样的。
Lyndsey Scott是对的,这是文档中的基本内容。我在这里张贴这个是因为那个" gotcha"如果使用第一种方法,则为类名(_User而不是User)。
您通常会在成功块中调用[myTableView reloadData],因为您现在拥有一组用户。在didSelectCellAtIndexPath:
中使用新的viewcontroller执行seque,并在prepareForSegue
方法中,将用户对象传递给推送的视图控制器,以便它知道要显示的用户。
答案 1 :(得分:0)
我假设您知道如何使用表格视图。所以我将以这种方式实现它:
1.创建一个属性
@property (nonatomic) NSArray *users;
2.在viewDidAppear中执行查询:
PFQuery *query = [PFUser query];
[query setLimit:1000];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
self.users = objects;
[self.tableView reloadData];
}
}];
3.您需要实现表视图代码,最重要的是单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"userCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
PFUser *user = self.users[indexPath.row];
cell.textLabel.text = user.username;
return cell;
}
除此之外,您还需要所有必需的表格视图的数据源代码来告诉它单元格的数量。如果您需要一些帮助,请告诉我们。