gpt4 book ai didi

Objective-C 傻瓜书 : How do I get a value out of NSDictionary?

转载 作者:行者123 更新时间:2023-12-03 16:50:53 27 4
gpt4 key购买 nike

所以我从 NSDictionary 中提取值是最困难的。现在我只有一个通过 JSON 调用填充的字典,它只包含一个名为“Success”、值为 0 或 1 的键。

如何对该值执行条件来检查它是 0 还是 1?我尝试了很多事情,但一无所获。这是我当前的代码:

[[jsonDictionary objectForKey:@"Success"] isEqualToNumber:1]

我收到 passing argument 1 of 'isEqualToNumber:' madepointer from integer without a cast' 作为警告,无论如何,应用程序在遇到该行时都会崩溃。

还有一个子问题,objectForKeyvalueForKey 之间有什么区别?我应该默认使用哪一个?

无论如何,这个 Objective-C 菜鸟真的很感激在这方面的一些帮助。提前致谢!

最佳答案

由于字典包含 Objective-C 对象,因此包含数字的条目是一个 NSNumber 实例。 NSNumber 提供了一个方便的方法 -intValue,用于提取其底层 int 值:

if ([[jsonDictionary objectForKey:@"Success"] intValue] == 1) { … }

请注意,NSNumber 还有其他方便的方法可以将其基础值提取为其他 C 数据类型。

<小时/>

在大多数情况下,您应该使用 -objectForKey: 而不是 -valueForKey: 前者是获取条目的规范方法在字典中并在 NSDictionary 中声明。后者在 NSObject 中声明,并在键值编码上下文中使用,其中 key 必须是有效的 KVC key ,并且有额外的处理 - 例如,如果您使用 - valueForKey: 在具有以 @ 开头的键的字典中,该字符将从键中删除并调用 [super valueForKey:key]

关于Objective-C 傻瓜书 : How do I get a value out of NSDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com