【问题标题】:Error with Parse Query findObjectsInBackgroundWithBlock解析查询 findObjectsInBackgroundWithBlock 时出错
【发布时间】:2015-09-15 07:39:58
【问题描述】:

我是 ios 开发的新手,我最近发现了一个使用解析后端构建类似 ios 应用程序的高音扬声器的教程。我目前的设置是 Xcode 7.1 和 swift 2.0,本教程是在旧版本的 swift 上完成的,所以我不得不调整一些 swift 语法以使其工作。在遇到以下错误之前,我做得很好,

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?)-> Void in。经过几次尝试,

  1. (objects:[AnyObject]!, error:NSError!) -> Void in
  2. (objects:[AnyObject], error:NSError?) -> Void in
  3. (objects:[AnyObject]?, error:NSError) -> Void in
  4. (objects:[AnyObject], error:NSError) -> Void in

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

事实上对于 (objects:[AnyObject]?, error:NSError?) -> Void in(我认为这是最有意义的),编辑器会崩溃,如果我运行代码,我会遇到 seg 错误。

有没有人遇到过类似的问题?或知道修复?

提前感谢您的帮助。

【问题讨论】:

    标签: swift parse-platform swift2 xcode7


    【解决方案1】:

    尝试将[AnyObject]? 更改为[PFObject]?。这似乎是 Swift 2.0 所要求的。

    所以而不是:

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

    用途:

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

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

    【讨论】:

    • 谢谢格林威尔!这似乎摆脱了错误。到下一个。 =]
    • 太棒了,我在那条线上遇到了一个分段错误,这解决了它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多