• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:09:02 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我是使用解析的新手,在查询我在解析类中添加的数据时遇到了一些问题。我的问题是我可以让同步调用([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 performSelectorselector(getAllDataFromParse)];

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

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

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



Best Answer-推荐答案


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

[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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap