如何从 PFUser 中获取字符串形式的解析数据?

How do I get Parse data as a String out of PFUser?

我目前正在尝试从当前用户那里获取一个名为 "loot" 的值。我需要字符串形式的值,但 Swift 很固执并说它 "cannot convert Anyobject to String"。 iOS 的 Parse 文档说使用类似的东西:

let score = gameScore["score"] as String

等等,我试试这个:

let lootAmount = user["loot"] as String

BTW 'user' 指的是当前用户。当我尝试这样做时,它给出错误提示说它不可转换。我尝试将 '!'s and '?' 放置在 Xcode 建议的位置,但它只是使应用程序崩溃且没有错误。

那么,如何获取名为 "loot" 的用户值作为字符串?

您可能需要垂头丧气AnyObject。试试这个:let lootAmount = user["loot"] as? String 或者解开你的可选用户,如果你还没有这样做的话:

let currentUser = PFUser.currentUser()
if let user = currentUser {
    let lootAmount = user["loot"] as String
}

战利品是 NSNumber 而不是 NSStringString

您可以像这样将其转换为 String

if let loot = user["loot"] as? NSNumber {
    let lootString = "\(loot)"
}

如果您不确定对象的类型,可以使用 dynamicType:

询问
print(user["loot"]!.dynamicType)

//prints `__NSCFNumber.Type`