为什么PFQuery只从类中返回一个对象?

时间:2014-05-26 23:21:01

标签: parse-platform

我试图查询名为UserPhoto的类。它有许多照片,其中包含对用户的字段引用。 但是,当我在背景中找到所有对象时,它只返回一个。

// get currentUserId
NSString *userId = [self.userIds objectAtIndex:indexPath.row];

PFQuery *photoQuery = [PFQuery queryWithClassName:@"UserPhoto"];
[photoQuery includeKey:@"user"];

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

    NSLog(@"Objects: %@", objects);

    for (PFObject *photo in objects) {

        NSLog(@"%@, %@", [photo objectForKey:@"user"], userId);

        if ([[[photo objectForKey:@"user"] objectId] isEqualToString:userId]) {

            // turn that photo into ns data
            UIImage *profilePicture = [UIImage imageWithData:[[photo objectForKey:@"imageFile"] getData]];
            cell.imageArea.image = profilePicture;
            cell.nameLabel.text = [[photo objectForKey:@"user"] objectForKey:@"name"];

        }
    }
}];

编辑:这是在tableView:cellForAtIndexPath:

我知道它很糟糕,但我现在正在测试它。

1 个答案:

答案 0 :(得分:1)

这证明是访问控制列表(ACL)的问题。

在我将照片上传到UserPhoto课程的地方,我还确保上传的照片会收到如下公共阅读权限:

         userPhoto.ACL = [PFACL ACLWithUser:[PFUser currentUser]];
        [userPhoto.ACL setPublicReadAccess:TRUE];

如果你在ACL部分查看数据浏览器,它可能类似于:

 {"*":{"read":true},"fTSp8k4pLQ":{"write":true,"read":true}}

我让用户给自己写入和读取访问权限,但也使用外卡进行公共访问。