首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PFQuery FindObjectsInBackground返回0

PFQuery FindObjectsInBackground返回0
EN

Stack Overflow用户
提问于 2017-09-12 11:53:55
回答 1查看 211关注 0票数 9

在我的UIViewController中,我试图查询我的解析服务器,但我总是得到0的返回,尽管我100%地知道这个类中确实有对象。有什么想法吗?

代码语言:javascript
复制
 PFQuery *query = [PFQuery queryWithClassName:@"General"];

 int i;
 for (i = 0; i < [follows count]; i++) {
        [query whereKey:@"Session" containedIn:follows];
 }
 query.cachePolicy = kPFCachePolicyCacheThenNetwork;

 [query orderByDescending:@"createdAt"];
 [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
 // it never gets here...
 NSLog(@"OBJECTS%@", objects);
 if (!error) {
     NSLog(@"Successfully retrieved %lu objects.", (unsigned long)objects.count);
     for (PFObject *object in objects) {
         NSLog(@"%@", object.objectId);
     }

     // [self gotoMain];
 } else {
       NSLog(@"Error: %@ %@", error, [error userInfo]);
   }
 }];

它告诉我没有错误,它在我的控制台中成功检索到了0个对象。

EN

回答 1

Stack Overflow用户

发布于 2017-09-21 14:34:01

正如其他人已经建议的那样,我将首先执行最简单的查询:

代码语言:javascript
复制
PFQuery *query = [PFQuery queryWithClassName:@"General"];
 [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
 if (!error) {
     NSLog(@"Successfully retrieved %lu objects.", (unsigned long)objects.count);
 } else {
       NSLog(@"Error: %@ %@", error, [error userInfo]);
   }
 }];  

如果没有错误地执行,返回0个对象,并且仪表板显示有应该返回的对象,则类名称一定是错误的。所以请仔细检查类名,例如拼写。

如果返回对象,那么您的过滤器一定是错误的。你的for是错误的,有两个原因:

1) for循环执行多次,但由于没有使用index,所以它总是执行相同的指令。我猜你想写(,但这也是错误的)

代码语言:javascript
复制
 for (i = 0; i < [follows count]; i++) {
        [query whereKey:@"Session" containedIn:follows[i]];
 }  

2)这是错误的,因为您只能有一个过滤器whereKey:containedIn:。正如DevKyle已经提到的,这个单一的过滤器被follows.count-1 -次覆盖,并且只使用最后一个过滤器。

我猜你想要一个单独的过滤器的逻辑或。如果是这样的话,你必须扁平化你的数组,也就是在follows[i]中创建一个包含所有元素的数组过滤器,参见here,然后设置一个NSArray *flattenedFollows

代码语言:javascript
复制
 [query whereKey:@"Session" containedIn: flattenedFollows];  

编辑:

最后一个想法:如果您的查询是正确的(除了for循环之外),并且无论如何都没有返回任何对象,则可能是您没有访问它们的权限。因此,请检查这些记录的ACL字段是否具有正确的访问权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46167647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档