请帮我解决我的麻烦: 我无法与值(value)进行比较,以了解成功与否。 我获取 json-object 作为 NSDictionaty:
NSDictionary *returnDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
然后我得到键的值:代码
[returnDictionary objectForKey:@"code"];
如果返回值等于 1 就可以了,但问题是我不知道键“代码”的类型值。我试图比较 id、NSString、NSNumber,但都失败了。我应该比较什么类型的对象?
最佳答案
您是否使用比较运算符 (==
) 来比较您的对象?
如果是这样,您没有比较对象的值,而是比较它们的内存地址。
如果 [returnDictionary objectForKey:@"code"]
返回的对象是 NSString
类型,您应该使用 NSString 的 isEqualToString:
如果它返回一个 NSNumber
实例,您可以将该对象的 intValue
与 1 进行比较。
[[returnDictionary objectForKey:@"code"] isEqualToString:@"1"]
或
[[returnDictionary objectForKey:@"code"] intValue] == 1
关于objective-c - 将 NSDictionary 值(id?)转换为 NSString 或 NSNumber 以进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16719485/