解析查询时出现错误findObjectsInBackgroundWithBlock [英] Error with Parse Query findObjectsInBackgroundWithBlock

查看:65
本文介绍了解析查询时出现错误findObjectsInBackgroundWithBlock的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是ios开发的新手,我最近找到了一个使用解析后端构建像iOS应用这样的高音扬声器的教程.我当前的设置是带有swift 2.0的Xcode 7.1,本教程是在较早版本的swift上完成的,因此我必须调整一些swift语法才能使其工作.在遇到以下错误之前,我一直很好,

I am new to ios development and I recently found a tutorial to build a tweeter like ios app using a parse backend. My current set up is Xcode 7.1 with swift 2.0, the tutorial was done on an older version of swift so I had to adjust some of the swift syntax in order to make it work. I was doing fine until I hit the following error,

func loadData(){
    timelineData.removeAllObjects()
    var findTimelineData:PFQuery = PFQuery(className: "Tweet")

    findTimelineData.findObjectsInBackgroundWithBlock{
        (objects:[AnyObject]?, error:NSError?) -> Void in
        if (error == nil && objects != nil){
            for object:PFObject! in objects!{
               self.timelineData.addObject(object)
            }
            let array:NSArray = self.timelineData.reverseObjectEnumerator().allObjects
            self.timelineData = array as! NSMutableArray
            self.tableView.reloadData()
        }

  }

在这里,我试图将解析表/类中的所有数据访问/存储到数组中.编辑器在抱怨闭包参数(对象:[AnyObject] ?,错误:NSError?)->无效.经过几次尝试,

Here I am trying to access/store all the data in a parse table/class into an array. And the editor is complaining about the closure argument (objects:[AnyObject]?, error:NSError?) -> Void in. After a couple of tries,

  1. (objects:[AnyObject] !, error:NSError!)->无效
  2. (对象:[AnyObject],错误:NSError?)->无效
  3. (objects:[AnyObject] ?, error:NSError)->无效
  4. (对象:[AnyObject],错误:NSError)->无效

我尝试过的所有选项都给了我同样的错误: '([[AnyObject] !, NSError!)-> Void'不能转换为'PFQueryArrayResultBlock?'

All the options I tried gave me the same error: '([AnyObject]!, NSError!) -> Void' is not convertible to 'PFQueryArrayResultBlock?'

事实上,对于(objects:[AnyObject] ?, error:NSError?)->无效(我认为最有意义),编辑器将崩溃,如果我运行代码,将会出现段错误.

In fact for (objects:[AnyObject]?, error:NSError?) -> Void in (which I thought makes the most sense), the editor would crash and if I ran the code I would get a seg fault.

有人遇到类似问题吗?或知道解决办法?

Has anyone run into similar issue? or know of a fix?

谢谢您的帮助.

推荐答案

尝试将[AnyObject]?更改为[PFObject]?.这似乎是Swift 2.0所必需的.

Try changing [AnyObject]? to [PFObject]?. This seems to be required by Swift 2.0.

所以代替:

findTimelineData.findObjectsInBackgroundWithBlock {
    (objects:[AnyObject]?, error:NSError?) -> Void in

使用:

findTimelineData.findObjectsInBackgroundWithBlock {
    (objects:[PFObject]?, error:NSError?) -> Void in

您还需要更改数组对象的迭代,因为它们现在已经是PFObject.

You'll also need to change your iteration over the array objects, since they will now already be PFObject.

这篇关于解析查询时出现错误findObjectsInBackgroundWithBlock的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆