我尝试查询解析数据库时遇到此错误。我正在使用此代码找到解析文档并进行了一些修改。我需要将所有记录保存到'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)
}
}
答案 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)
}
}