将 NSCFString 转换为 NSString

2024-04-07

我正在从服务器获取一本字典

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,所以请不要将其标记为重复。


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 NSCFString 转换为 NSString 的相关文章

随机推荐