gpt4 book ai didi

ios - 如何使用 .whereKey 修改查询,但在 Xcode 中使用多个不同的参数?

转载 作者:行者123 更新时间:2023-11-28 11:04:09 25 4
gpt4 key购买 nike

我正在使用 swift 在 Xcode 中创建一个应用程序,它从解析服务器数据库(由 Heroku 托管)中提取信息。有一个方便的修改查询的方法,可以这样设置,例如:

let getFollowedUserQuery = PFQuery(className: "Followers")
getFollowedUserQuery.whereKey("Follower", equalTo: (PFUser.currentUser()?.objectId)!)

但是,我希望查询基于多个参数进行查询。目前它只检查数据库中的一列。有什么方法可以使用 .whereKey(或同类的东西)修改此查询,以便它检查数据库中的多个参数/列。本质上,它将根据用户输入的搜索参数检查这些列。但是用户可以选择多个参数...所以查询只需要返回适合所有参数的对象,而不仅仅是一个。有办法吗?

最佳答案

你检查过docs了吗? ?它说:

You can give multiple constraints, and objects will only be in the results if they match all of the constraints. In other words, it’s like an AND of constraints.

在您的情况下,它将是:

let getFollowedUserQuery = PFQuery(className: "Followers")
getFollowedUserQuery.whereKey("Follower", equalTo: PFUser.currentUser()?.objectId ?? "")
getFollowedUserQuery.whereKey("AnotherKey1", equalTo: anotherObject1)
getFollowedUserQuery.whereKey("AnotherKey2", notEqualTo: anotherObject2)

另一种选择是使用 NSPredicate :

let predicate = NSPredicate(format: "Follower = '\(PFUser.currentUser()?.objectId ?? "")' AND AnotherKey1 = '\(anotherObject1)' AND AnotherKey2 != '\(anotherObject2)'")
let query = PFQuery(className: "Followers", predicate: predicate)

关于ios - 如何使用 .whereKey 修改查询,但在 Xcode 中使用多个不同的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com