在Objective-C中遍历NSDictionary



是否有一种简单的方法可以让我从NSDictionary中取出一个特定的值,而不必为我想要下降的每个级别调用objectForKey ?

例如:

{
    response = {
        data = {
            foo = "bar";
        };
        user = {
            "first_name" = "Joe";
            "last_name" = "Bloggs";
        };
    };
}

是否有简单的方法拔出first_name ?在现实中,我的数据比这嵌套得多,我想在各种不同的级别提取数据。

谢谢。

键值编码是你的朋友!

使用KVC,您应该能够做以下事情:

NSString * name = [response valueForKeyPath:@"user.first_name"];

这是另一个相关的问题,它的答案可能会对你有所帮助,它也指向了另一个需要进一步阐述的问题。

这是valueForKeyPath:的文档。

使用valueForKeyPath ?在苹果的文档里。

这是一个数组,但应该类似的工作:theocacao.com在NSArray和KVC

同时,确保使用字符串作为键。你可能会遇到问题。

键值编码参考:Apple Docs on Key-Value Coding

最新更新