'AnyObject'不能转换为'String'

时间:2015-02-26 18:56:34

标签: ios swift parse-platform

我尝试查询解析数据库时遇到此错误。我正在使用此代码找到解析文档并进行了一些修改。我需要将所有记录保存到'elencoBirre'表中,我的'test'变量是'AnyObject'类型,我无法将其“转换”为一个简单的String,我不知道怎么做。我试图强制'作为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)
    }        
}

1 个答案:

答案 0 :(得分:2)

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)
  }
}