Parse.com在tableview中查询所有用户

时间:2014-11-22 23:17:48

标签: ios xcode uitableview parse-platform pfquery

如何在tableview中显示parse.com数据库中所有用户的列表,然后当他们点击每个表时,显示该特定用户的信息。

我所知道的是,为了查询我必须使用的用户:

PFQuery *query = [PFUser query];

提前感谢您,非常感谢任何帮助。

2 个答案:

答案 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;
}

除此之外,您还需要所有必需的表格视图的数据源代码来告诉它单元格的数量。如果您需要一些帮助,请告诉我们。