ios - PFQuery同步调用有效,异步调用失败

标签 ios asynchronous parse-platform synchronous pfquery

我刚开始使用解析,在查询我添加到解析类中的数据时遇到了一些问题。我的问题是我可以让同步调用 ([query findObjects]) 工作,但是异步调用 ([queryInBackground...]) 失败了。

下面是两个代码片段:

-(void)getAllDataFromParse{
    //simple query works
    PFQuery *query = [PFQuery queryWithClassName:@"wordsDB"];
    [query setLimit: 1000];
    NSArray *objects = [query findObjects];
    }
   //background query not working
   PFQuery *queryInBackground = [PFQuery queryWithClassName:@"wordsDB"];
   [queryInBackground findObjectsInBackgroundWithBlock:^(NSArray *objects2, NSError *error) {
       if (!error) {
           //query succeeds, do something
           }
       } else {
          // Log details of the failure
          NSLog(@"Error: %@ %@", error, [error userInfo]);
       }
  }];
}

这个方法在我的mainViewController中调用,调用在viewDidLoad函数的最后

[self performSelector:@selector(getAllDataFromParse)];

在调试中,程序到达了[queryInBackground findObjectsInBackgroundWithBlock.... ],但在执行时,它直接跳到方法的末尾。

我看不到任何错误消息。谁能告诉我我的异步调用出了什么问题?

我试过在模拟器和真实设备上运行它。

最佳答案

这是一个异步调用,意味着它将继续在后台运行。它走到方法的末尾是完全正常的。

[queryInBackground findObjectsInBackgroundWithBlock:^(NSArray *objects2, NSError *error) {
       if (!error) {
           //query succeeds, do something
           }
       } else {
          // Log details of the failure
          NSLog(@"Error: %@ %@", error, [error userInfo]);
       }
  }];

This may also help.

关于ios - PFQuery同步调用有效,异步调用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31590101/

相关文章:

iphone - 在 UITableviewController 中调用 viewWillAppear

ios - 使用 Swift、UIKit 连续循环动画背景图像

javascript - 获取异步函数中的上一个项目

mysql - 我如何格式化 mysql 查询以利用异步/ promise ?

ios - 如何在 UITextView、Swift3 和 Parse 服务器上显示数组元素 (bitnami)

ios - 从 Storyboard 实例化 View Controller 与创建新实例

iphone - NSURLConnection 委托(delegate) - 确定哪个函数或连接触发了委托(delegate)

javascript - Nodejs : async. everySeries 过早调用最终回调

ios - TableView Parse Swift 数据未显示在应用程序中

ios - 如何使用回调在 Swift 中进行异步调用,以便主 UI 不会挂起?