gpt4 book ai didi

ios - 使用 NSPredicate 实现高效的 PFQuery

转载 作者:行者123 更新时间:2023-11-29 03:07:11 25 4
gpt4 key购买 nike

我的应用使用 Parse 作为后端。在应用程序的某个时刻,我必须查询至少应包含另一个数组中的一个标签的对象。为了清楚起见,在数据库中我有一个图片类,它有一个标签属性,将标签保存在一个数组中。在我的应用程序中,我有一系列需要比较的标签。仅应获取至少具有存储在 Tags 属性中的标记之一的对象。我尝试使用以下 PFQuery 函数 whereKey:containedIn:whereKey:containsAllObjectsInArray: 但是它们都不是我想要的。现在我把注意力转移到了 NSPredicates 上。我尝试了以下方法:

PFQuery *postsQuery = [PFQuery queryWithClassName:@"Pictures" predicate:[NSPredicate predicateWithFormat:@"ANY Tags MATCHES ANY ", _tags]];

当我运行代码时,我收到以下错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "ANY Tags MATCHES ANY "'

我如何执行这样的查询或适合我的情况的 NSPredicate?

作为进一步解释查询的说明:假设数据库中的一个对象在“标签”列中具有以下内容

Tags = ["music", "video", "picture", "chocolate"]

我想在谓词中使用的标记数组如下:

tagsArray = @["picture", "French"];

我所期待的是收到前一个对象,因为它有“图片”标签。如果另一个对象不包含 tagsArray 中的至少一个标记,则不应获取它。

编辑:我发现我不能使用聚合操作,例如 ANY、SOME、ALL 或 NONE。我可以找到其他解决方案吗?

最佳答案

另一种解决方案是使用云代码并在服务器上用 Javascript 编写查询。

然后您只需访问您定义的新 API 端点并以这种方式获取查询结果。

关于ios - 使用 NSPredicate 实现高效的 PFQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635578/

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