Ios ';任何对象';不可转换为';字符串';

Ios ';任何对象';不可转换为';字符串';,ios,swift,parse-platform,Ios,Swift,Parse Platform,我在尝试查询解析数据库时遇到了这个错误。我正在使用解析文档中的代码,并对其进行了一些修改。我需要将所有记录保存到'elencoBirre'表中,我的'test'变量是'AnyObject'类型,我无法将其“转换”为简单字符串,我不知道该怎么做。我试图强制使用“as NSString/String”,但当我启动应用程序时,它卡住了 var appoggio2 = [String]() func loadDataCarrello(){ self.appoggio2.removeAll

我在尝试查询解析数据库时遇到了这个错误。我正在使用解析文档中的代码,并对其进行了一些修改。我需要将所有记录保存到'elencoBirre'表中,我的'test'变量是'AnyObject'类型,我无法将其“转换”为简单字符串,我不知道该怎么做。我试图强制使用“as NSString/String”,但当我启动应用程序时,它卡住了

var appoggio2 = [String]()  

func loadDataCarrello(){

    self.appoggio2.removeAll()
    var findTimelineData:PFQuery = PFQuery (className: "Carrello")
    findTimelineData.whereKeyExists("elencoBirre")
    findTimelineData.findObjectsInBackgroundWithBlock{
        (objects:[AnyObject]!, error:NSError!)->Void in
        if error == nil{
            for object in objects{
                let test:PFObject = object as PFObject

                //Here is the error 'AnyObject' is not convertible to 'String'
                self.appoggio2.append(test.objectForKey("elencoBirre"))
            }                
        }
        println(self.appoggio2)
    }        
}

objectForKey
方法不保证特定类型的结果。若要在强制转换成功时强制转换并追加,请使用以下命令:

if let elencoBirre = test.objectForKey("elencoBirre") as? String {
  self.appoggio2.append(elencoBirre)
}
您已经声明,您实际上希望该对象是一个数组。请尝试以下方法:

if let elencoBirre = test.objectForKey("elencoBirre") as? [String] {
  for str in elencoBirre {
    self.appoggio2.append(str)
  }
}

我试过了,但是程序没有执行这个流,所以我的数组还是空的!如果数组仍然为空,则键“elencoBirre”附加到
PFObject
的对象不是
字符串。您必须检查数据源,以确保数据按预期的方式存储。“elencoBirre”是一个数组,我需要保存多个字符串。我不知道如何保存字符串数组。