0
votes

I'm new to Parse and I'm trying to retrieve a list of friends for my current user, but my result is always nil.

Here's how my data is on the server:

  • Class User (auto-created when first user signed up using the PFUser class)
    • Inside the class User I have a field called "array_friends_id" which is an array and it contains multiple objectIds inside. This field already has an array in it with 1 string inside

Here's my code for iOS:

- (IBAction)button_login:(id)sender
{
[PFUser logInWithUsernameInBackground:[textField_username text]
                         password:[textField_password text]
                            block:^(PFUser *user, NSError *error)
{
if (!error)
{
    NSLog(@"logged in!");

    // find friends
    PFQuery *query = [PFQuery queryWithClassName:@"Users"];
    [query whereKey:@"user" equalTo:[PFUser currentUser]];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error)
        {
            NSLog(@"objects = %@", objects);
        }
    }];


}
else
{
    NSLog(@"can't login. Error = %@ %@", error, [error userInfo]);
}
}];
}

My idea is to allow the user to log into the app, and as soon as the user logs in I want to retrieve his list of friends, even before pushing to the next view controller.

What am I doing wrong?

1
Try getting the query like this: PFQuery * query = [PFUser query] - Jack

1 Answers

1
votes

This is how I query in Parse,

PFQuery *query = [PFUser query];
[query orderByAscending:@"username"];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

    if (error) {
        NSString *errorString = [error userInfo][@"error"];
        NSLog(@"Log %@", errorString);
    }
    else {
        // all good
    }

}];