如何从 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
而不是 NSString
或 String
。
您可以像这样将其转换为 String
:
if let loot = user["loot"] as? NSNumber {
let lootString = "\(loot)"
}
如果您不确定对象的类型,可以使用 dynamicType
:
询问
print(user["loot"]!.dynamicType)
//prints `__NSCFNumber.Type`
我目前正在尝试从当前用户那里获取一个名为 "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
而不是 NSString
或 String
。
您可以像这样将其转换为 String
:
if let loot = user["loot"] as? NSNumber {
let lootString = "\(loot)"
}
如果您不确定对象的类型,可以使用 dynamicType
:
print(user["loot"]!.dynamicType)
//prints `__NSCFNumber.Type`