Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从PFUser中获取解析数据作为字符串?_Ios_String_Parse Platform_Pfuser - Fatal编程技术网

Ios 如何从PFUser中获取解析数据作为字符串?

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建议的

我目前正试图从当前用户那里获取一个名为“loot”的值。我需要一个字符串形式的值,但是Swift很固执,说它“无法将任何对象转换为字符串”。iOS的解析文档说要使用以下内容:

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。谢谢!真是太棒了!但是,“战利品”是如何工作的呢?它被称为字符串插值-参见