Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在NSDictionary中获取值_Objective C_Ios_Nsdictionary - Fatal编程技术网

Objective c 在NSDictionary中获取值

Objective c 在NSDictionary中获取值,objective-c,ios,nsdictionary,Objective C,Ios,Nsdictionary,我想从NSDictionary中获取值。我想控制“代码”键根据代码键,我会得到基准值。当我尝试不同的方法时,会收到错误消息 错误消息 2011-08-11 12:45:21.549 AOK[6312:207]-[uuu NSArrayM getObjects:andKeys::发送到实例0x5e138b0的选择器无法识别 2011-08-11 12:45:21.550 AOK[6312:207]*由于以下原因终止应用程序 未捕获异常“NSInvalidArgumentException”,原因:

我想从
NSDictionary
中获取值。我想控制“代码”键根据代码键,我会得到基准值。当我尝试不同的方法时,会收到错误消息

错误消息

2011-08-11 12:45:21.549 AOK[6312:207]-[uuu NSArrayM getObjects:andKeys::发送到实例0x5e138b0的选择器无法识别 2011-08-11 12:45:21.550 AOK[6312:207]*由于以下原因终止应用程序 未捕获异常“NSInvalidArgumentException”,原因:'-[\uu NSArrayM getObjects:andKeys::发送到实例的选择器无法识别 0x5e138b0' *第一次抛出时调用堆栈:

国家统计局词典

(
        {
        Omschrijving = "ADDD";
        Ophaaldata =         {
            Datum =             (
                "2011-07-04",
                "2011-07-11",
                "2011-07-18",
                "2011-07-25"
            );
        };
    },
        {
        Omschrijving = "BBBB";
        Ophaaldata =         {
            Datum =             (
                "2011-07-05",
                "2011-07-12",
                "2011-07-19",
                "2011-07-26"
            );
        };
    },
        {
        Omschrijving = "KKKK";
        Ophaaldata =         {
            Datum =             (
                "2011-07-07",
                "2011-07-14",
                "2011-07-21",
                "2011-07-28"
            );
        };
    },
        {
        Omschrijving = "LLLLL";
        Ophaaldata =         {
            Datum =             (
                "2011-07-01",
                "2011-07-08",
                "2011-07-15",
                "2011-07-22",
                "2011-07-29"
            );
        };
    },
        {
        Omschrijving = "MMMMM";
        Ophaaldata =         {
            Datum =             (
                "2011-07-01",
                "2011-07-15",
                "2011-07-29"
            );
        };
    },
        {
        Code = POP;
        Omschrijving = "FFFF";
        Ophaaldata =         {
            Datum = "2011-07-12";
        };
    },
        {
        Code = 00;
        Omschrijving = "SSSS";
        Ophaaldata =         {
            Datum =             (
                "2011-07-14",
                "2011-07-27"
            );
        };
    },
        {
        Code = 01;
        Omschrijving = "CCCCC";
        Ophaaldata =         {
            Datum =             (
                "2011-07-06",
                "2011-07-20"
            );
        };
    }
)

您确定您有一个
NSDictionary
而不是一个
NSArray

您显示的是一个NSDictionary的NSArray,每个NSDictionary都包含一个带有说明的NSString(Omschrijving)和一个带有一个键(数据)的NSDictionary(Ophaaldata),这是一个日期数组。如果将
对象:和键:
发送到NSArray,它将无法工作

以下是几个示例,说明了如何获取单个项目:

NSArray          *dicts = ...; // wherever you get the array
  NSDictionary   *mijnDict = [dicts objectAtIndex: n];
    NSString     *omschrijving = [mijnDict objectForKey: @"Omschrijving"];
    NSDictionary *ophaaldata = [mijnDict objectForkey: @"Ophaaldata"];
      NSArray    *datum = [ophaaldata objectForkey: @"Datum"];
        NSString *eersteDatum = [datum objectAtIndex: 0];

这些只是说明如何处理这些项目的示例。但这是您的输出显示的结构。无论如何,其他任何东西都是无用的,因为字典只能包含每个键一次。我对代码进行了一些格式化,因此您可以更好地查看结构。

在响应过程中,请记住行的值

{ .......... } indicates dictionary.
(............) indicates array.
Dictionary always have key with it like somename = "value in it", .......
Array has value seperated by comma like a , b , c .....
Now it is possible it may have array into dictionary like { somekey = ( a,b,c) } and vice versa

是的,我用字典。我一步一步地得到这个值
{ .......... } indicates dictionary.
(............) indicates array.
Dictionary always have key with it like somename = "value in it", .......
Array has value seperated by comma like a , b , c .....
Now it is possible it may have array into dictionary like { somekey = ( a,b,c) } and vice versa