我正在从服务器获取一本字典
myDictionary =
{
"rank":"1",
"color":"red",
"position":"middle"
}
现在我想检查 if 条件中键“position”的值
我正在这样做
if ([[myDictionary valueForKey:@"position"] isEqualToString:@"middle"]) {
//do Some stuff
} else{
//do some other stuff
}
但数据类型为[myDictionary valueForKey:@"position"]
is _NSCFString
,因此它无法正确比较值,并且即使值正确也不会进入 if 循环。
我如何将它转换成NSString
这样我就可以在 if 条件下比较它?
这些问题我都看过。。
NSString 实例将其类报告为 NSCFString https://stackoverflow.com/q/393873/2407907
从 NSCFString 获取 NSString https://stackoverflow.com/q/6516293/2407907
xcode 中的 NSString 还是 NSCFString? https://stackoverflow.com/q/13717310/2407907
从这些问题中我才知道NSString
实际上是不同类型字符串对象的容器类。一般来说, NSString 构造函数确实返回一个实际类型的对象NSCFString
,它是核心基础的薄包装CFString
struct
.
但他们没有帮助我......并且没有人真正告诉如何转换为 NSString,所以请不要将其标记为重复。