objective-c - 如何知道NSDictionary中的键值是NSString还是另一个NSDictionary?

标签 objective-c ios nsdictionary

我正在解析一些JSON值。我有一个NSDictionary,对于某个值,我得到的对象可以是NSString(例如“USA”)或NSDictionary(例如1 =“USA”,2 =“UK”等)。

有没有办法知道对象何时为NSString或NSDictionary?

谢谢。

最佳答案

NSObject 类继承的所有类都有两种方法来测试继承,行为和一致性:

– isKindOfClass:
– isMemberOfClass:
– respondsToSelector:
– conformsToProtocol:

在您的情况下,请使用isKindOfClass:方法:
if ([someObject isKindOfClass:[NSString class]]) {...}
if ([someObject isKindOfClass:[NSDictionary class]]) {...}

关于objective-c - 如何知道NSDictionary中的键值是NSString还是另一个NSDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472780/

相关文章:

objective-c - 使用 Array 观察键值不做任何事情

ios - Objective-C iPhone 定期检查位置

android - 如何将用户输入的数据保存到编辑文本中,以便在同一应用程序的另一个 Activity 中查看

ios - 按编号对解析对象进行排序

ios - 在 xcode 10 中找不到体系结构 x86_64 的符号

ios - 在 SDAnimatedImageView 中重复源图像

ios - 在 NSDictionary* 类型的对象上找不到读取数组元素的预期方法

ios - 如何使用 NSJSONSerialization

iphone - 使用 UITableView 的键值对

ios - UIDocumentInteractionController 旋转后消失