【问题标题】:Parse query results in error解析查询结果出错
【发布时间】:2015-12-18 21:07:21
【问题描述】:

我有一个用 swift 编写的 parse.com 查询,但它不会让整个项目运行,但没有它一切都很好。我得到的错误是 Command failed due to signal: Segmentation fault: 11. 查询如下:

代码

        let ObjectIDQuery = PFQuery(className: "Restaurants")
        ObjectIDQuery.whereKey("City", equalTo: CityName)
        ObjectIDQuery.orderByDescending("RN")
        ObjectIDQuery.findObjectsInBackgroundWithBlock({
            (objectsArray: [AnyObject]?, error: NSError?) -> Void in

            var ObjectIDS = objectsArray as! [PFObject]
            for i in 0..<ObjectIDS.count{
                self.name.append(ObjectIDS[i].valueForKey("Name") as! String)
                self.rating.append(ObjectIDS[i].valueForKey("Rating") as! String)
                self.phone.append(ObjectIDS[i].valueForKey("Number") as! String)
                self.url.append(ObjectIDS[i].valueForKey("Website") as! String)
                self.anp.append(ObjectIDS[i].valueForKey("ANP") as! String)
                self.image.append(ObjectIDS[i].valueForKey("Image") as! String)

                self.tableView.reloadData()

            }
        })

请帮忙

编辑: 我发现问题出在ObjectIDQuery.findObjectsInBackgroundWithBlock({

【问题讨论】:

  • 您的代码工作正常(认为您应该进行一些优化以使其更具可读性并遵循 Swift 约定)。这个错误可能是由许多不同的事情引起的(fx stackoverflow.com/questions/26557581/…)。尝试删除您最近对项目所做的一些更改,看看是否可以再次编译它。否则,请尝试使用更多代码和日志更新您的问题

标签: swift parse-platform segmentation-fault


【解决方案1】:

如果您使用最新的 Parse SDK 和 Swift 2,PFQuery.findObjectsInBackgroundWithBlock 的方法签名已更改。参考:https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/issues/280

(objectsArray: [AnyObject]?, error: NSError?) -&gt; Void in 替换为(objectsArray: [PFObject]?, error: NSError?) -&gt; Void in

【讨论】:

  • 您好,感谢您的帮助。坚果现在我收到此错误Downcast from '[PFObject]?' to '[PFObject]' only unwraps optionals; did you mean to use '!'? 在线var ObjectIDS = objectsArray as? [PFObject]
  • 由于 objectsArray 已经是 [PFObject] 你不需要向下转换它。将var ObjectIDS = objectsArray as! [PFObject] 替换为var ObjectIDS = objectsArray!。但在使用它之前,请确保您的 objectsArray 不为空,使用 objectsArray.count != 0
猜你喜欢
  • 2016-04-23
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多