限制解析查询

时间:2016-03-07 17:16:26

标签: ios swift parse-platform tableview

我想从Parse中检索5位用户,并发布最新图片。但如果他们还没有发布图片,那么该列将为空,所以我设置了我的查询:

 func uu() {

let query = PFQuery(className: "_User")
query.includeKey("latestImage")
query.whereKey("username", notEqualTo: PFUser.currentUser()!.username!)
query.findObjectsInBackgroundWithBlock { (object:[PFObject]?, error:NSError?) -> Void in

    if error == nil {

        for object in object! {


            if (object.objectForKey("latestImage") != nil)
            {

                self.lastPicArray.append(object.objectForKey("latestImage")!.valueForKey("image") as! PFFile)
                self.profilePicArray.append(object.valueForKey("profilePicture") as! PFFile)
                self.fullnameArray.append(object.valueForKey("firstname") as! String)
                self.usernameArr.append(object.valueForKey("username") as! String)

            }

            }

        self.collectionView.reloadData()


        print(self.usernameArr)
        print(self.lastPicArray)
    }
}

}

正如你所看到的,我已经添加了query.limit = 5,因为当我这样做时,它似乎以某种顺序得到它们......如果按顺序,某些用户在lastPic列中没有任何内容什么都没有显示......但我需要它做的是找到所有用户在该列中的东西,然后将它们限制为5 ...目前我的代码除了将它们限制为5之外还做了所有这些!

如果有人知道如何解决这个问题,我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:0)

我没有使用过Swift,但它是如何在目标C中为你工作的,你需要在查询中加入“whereKeyDoesNotExist”并添加限制。以下是工作代码:

 PFQuery *query = [PFQuery queryWithClassName:@"_User"];
[query whereKeyDoesNotExist:@"latestImage"];
query.limit = 5;
[query findObjectsInBackgroundWithBlock:^(NSArray * _Nullable objects, NSError * _Nullable error) {
    NSLog(@"Got 5 objects");
}];
相关问题