如何从PFUser中获取Parse数据作为字符串?

时间:2015-07-02 19:58:12

标签: ios string parse-platform pfuser

我目前正试图从当前用户那里获得一个名为“抢劫”的值。我需要将值作为String,但Swift很顽固,并说它“无法将Anyobject转换为String”。 iOS的Parse文档说使用类似的东西:

let score = gameScore["score"] as String

所以,我试试这个:

let lootAmount = user["loot"] as String

BTW'用户'指的是当前用户。当我尝试这个时,它会给出错误,说它不可转换。我尝试在Xcode建议的地方放置'!'和'?',但它只是在没有错误的情况下崩溃了应用程序。

那么,如何将名为“loot”的用户值作为String?

2 个答案:

答案 0 :(得分:0)

Loot是NSNumber而不是NSStringString

您可以将其转换为String,如下所示:

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

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

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

//prints `__NSCFNumber.Type`

答案 1 :(得分:-1)

您可能需要向下转发AnyObject。试试这个:let lootAmount = user["loot"] as? String或打开您的可选用户,如果您还没有这样做:

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