Ios 如何从PFUser中获取解析数据作为字符串?
我目前正试图从当前用户那里获取一个名为“loot”的值。我需要一个字符串形式的值,但是Swift很固执,说它“无法将任何对象转换为字符串”。iOS的解析文档说要使用以下内容:Ios 如何从PFUser中获取解析数据作为字符串?,ios,string,parse-platform,pfuser,Ios,String,Parse Platform,Pfuser,我目前正试图从当前用户那里获取一个名为“loot”的值。我需要一个字符串形式的值,但是Swift很固执,说它“无法将任何对象转换为字符串”。iOS的解析文档说要使用以下内容: let score = gameScore["score"] as String 因此,我尝试以下方法: let lootAmount = user["loot"] as String 顺便说一句,“用户”指的是当前用户。当我尝试这样做时,它会给出一个错误,说它是不可转换的。我试着放置“!”s和“?”在Xcode建议的
let score = gameScore["score"] as String
因此,我尝试以下方法:
let lootAmount = user["loot"] as String
顺便说一句,“用户”指的是当前用户。当我尝试这样做时,它会给出一个错误,说它是不可转换的。我试着放置“!”s和“?”在Xcode建议的任何地方,但它只是在没有错误的情况下崩溃了应用程序
那么,如何将名为“loot”的用户值作为字符串获取?您可能需要向下转换
任何对象。试试这个:让lootAmount=user[“loot”]作为?字符串
或展开可选用户(如果尚未展开):
let currentUser = PFUser.currentUser()
if let user = currentUser {
let lootAmount = user["loot"] as String
}
赃物是一个NSNumber
而不是NSString
或String
您可以将其转换为如下所示的字符串
:
if let loot = user["loot"] as? NSNumber {
let lootString = "\(loot)"
}
如果您不确定对象的类型,可以使用dynamicType
:
print(user["loot"]!.dynamicType)
//prints `__NSCFNumber.Type`
您是否尝试过检查user[“loot”]
以查看它的类是什么(或者它是否存在)?听起来它不是字符串。它返回AnyObjectsays“无法将类型为“\uuu NSCFNumber”(0x18657fc)的值强制转换为“NSString”(0x1cbe588)。”我的代码:如果let user=currentUser{let lootAmount=user[“loot”]as!string lootLabel.text=lootAmount}我会考虑将NSCFNumber转换为NSString。谢谢!真是太棒了!但是,“战利品”是如何工作的呢?它被称为字符串插值-参见