将NSCFString转换为NSString

Pra*_*kam 6 objective-c nsstring ios nscfstring

我从服务器上得到一本字典

myDictionary = 
{
"rank":"1",
"color":"red",
"position":"middle"
}
Run Code Online (Sandbox Code Playgroud)

现在我想在if条件下检查键"position"的值

我是这样做的

if ([[myDictionary valueForKey:@"position"] isEqualToString:@"middle"]) {
        //do Some stuff
} else{
        //do some other stuff
}
Run Code Online (Sandbox Code Playgroud)

但数据类型[myDictionary valueForKey:@"position"]_NSCFString,所以它没有正确地比较值,如果循环甚至值是正确的,也永远不会进入.

如何将其转换为NSString我可以在条件下进行比较?

我见过这些问题..

NSString实例将其类报告为NSCFString

从NSCFString获取NSString

xcode中的NSString或NSCFString?

从这些问题我刚才知道它 NSString实际上是不同类型的字符串对象的容器类.通常,NSString构造函数确实返回一个实际类型的对象NSCFString,它是Core Foundation周围的一个薄包装器CFString struct.

但他们并没有帮助我..没有人真正告诉如何转换成NSString,所以请不要将其标记为重复.

Eph*_*era 6

您无需转换_NSCFStringNSString.作为NSString它的子类,保证响应-isEqualToString:(以及其他所有方法NSString).你的问题不是来自字符串,可能是来自myDictionary.尝试记录字典中的所有键,并确保它按预期运行.