- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在从服务器获取字典
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"]
是_NSCFString
,因此它不会正确比较值,即使值正确也不会进入 if 循环。
如何将其转换为 NSString
以便我可以在 if 条件下进行比较?
我看到了这些问题..
NSString instance reports its class as NSCFString
Getting an NSString from an NSCFString
NSString or NSCFString in xcode?
从这些问题中我才知道 NSString
实际上是不同类型字符串对象的容器类。通常 NSString 构造函数确实会返回一个实际类型为 NSCFString
的对象。 ,这是核心基础的薄包装 CFString
struct
.
但他们没有帮助我..而且没有人实际告诉如何将其转换为 NSString,所以请不要将其标记为重复。
最佳答案
您不需要将 _NSCFString
转换为 NSString
。作为 NSString
的子类,它保证响应 -isEqualToString:
(以及 NSString
中的所有其他方法)。您的问题不是来自字符串,可能是来自 myDictionary
。尝试记录字典中的所有键并确保它按预期运行。
关于ios - 将 NSCFString 转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23150967/
我一直在解决很多内存泄漏问题,但没有成功解决这个问题。由于 [NSCFString substringWithRange:] 导致大量 NSCF 内存泄漏。我一直在检查所有的字符串分配,并在适当的地方
我正在从事一个需要格外小心内存的项目。我在仪器上运行了模拟,它显示了下一个泄漏: 泄露的对象:NSCFString 大小:80 字节 负责图书馆:基金会 责任框架:NSPlaceHolderStrin
我遇到了一个奇怪的问题,将 NSDictionary 存储到 NSUserDefaults,然后检索它会将其转换为 NSCFString。 这是我保存数据的地方: - (void)saveProgre
我正在遍历通过 API 调用获得的一组数字: 例如[6000, 6001, 2000] 这是我的代码: for(NSNumber* arrayID in array){
这是我使用 JSON 从 MySQL 表中检索数据的代码: //URL definition where php file is hosted int categoriaID = [[cate
我有一个小问题,在 Google 中找不到:UITableView 工作正常,直到我开始滚动。 Error Message: `-[NSCFString objectAtIndex:]: unreco
仪器告诉我 NSCFString 16Bytes 基础 -[NSPlaceholderString 我的代码是这样的: BOOL rslt = [self sendLogInfo:[NSString
我正在开发一个 iOS 4 应用程序。 我有一个具有 NSMutableDictionary 属性的类: @interface CardHelper : NSObject { ...
我的 json : { "name": "notification", "args": [ "{\"data\": [{\"foreignId\":\"BF7E9276D860
我只是出于测试目的编写以下代码: NSString *aStr = [[NSString alloc] initWithFormat:@"Foo"]; aStr = [aStr initWithFor
在我的 iOS 项目中,我收到此警告: Local declaration of data hides instance variable. 当我运行它时,它崩溃并给出了这个错误: NSCFStrin
我只是为了测试目的编写了以下代码: NSString *aStr = [[NSString alloc] initWithFormat:@"Foo"]; aStr = [aStr initWithFo
我阅读了有关 S.O 的资料,并在谷歌上做了一些搜索,但我无法找到我的问题的答案...... 我有一个 NSDictionary,它返回 NSCFString's,我需要的是一个 NSString,这
我正在从服务器获取字典 myDictionary = { "rank":"1", "color":"red", "position":"middle" } 现在我想在 if 条件下检查键“positi
我正在尝试使用此代码捕获按键。我的问题是 Instruments 会抛出一条关于泄漏的消息。 我在没有垃圾收集的情况下工作。 -(void)keyDown:(NSEvent *)theEvent {
我有以下产生此错误的代码。我不明白为什么将 subarrayWithRange 消息发送到字符串?什么时候明明是数组? static const int kItemsPerView = 20; NSR
我的目标非常简单——我试图为一些测试数据设置一个 NSString,然后返回类,它应该是 NSString。这是我的代码: NSString* stringer = [NSString stringW
我正在 NSString 中获取一个 NSMutabledictionary 对象,如下所示: NSString *state=[d valueForKey:@"State"]; 现在有时状态可能为空
我是 iPhone 开发新手,一直很难弄清楚为什么我的 table 无法工作。我不确定,这可能与核心数据有关。 viewDidLoad 方法一开始工作正常,但是当我尝试滚动 TableView 时,当
我仅从一位用户那里收到了30多个崩溃报告。没有人显示相同的行为。通常,我可以找出问题所在,因为总是有对我的代码的引用,但是没有引用。 它们都是来自类型: Exception Type: EXC_CR
我是一名优秀的程序员,十分优秀!