无法获得NSSingleEntryDictionary

时间:2017-05-09 12:38:13

标签: ios objective-c nsdictionary

我有一个名为" thisList"的NSDictionary,我需要获取其键的值" list_collection"。

Xcode表示该值为" NSSingleEntryDictionary"。

值本身包含一个包含另一个字典的数组。

请查看截图: enter image description here

现在,无论我尝试什么(objectforKey / valueforKey)或我初始化的任何类型的对象(NSArray / NsMutableArray / NSDictionary / NSMutableDictionary),我都会得到一个零值。

显然,我错过了一些关于如何处理这个问题的基本知识。

我的问题:我应该如何使用键的值来初始化对象" list_collection"。

这是json的(部分)转储:

Printing description of thisList:
{
    archived = 0;
    "chapter_part" = "";
    "chapter_title" = "";
    comment = "";
    "cover_id" = "<null>";
    "created_at" = "2017-01-06T12:59:04.000+01:00";
    "date_created" = "06 January 2017";
    deleted = 0;
    id = 141384502;
    isMyList = 1;
    keywords =     (
    );
    "list_collection" =     {
        lists =         (
                        {
                "speech_locale" = EN;
                subject = engels;
                words =                 (
                                        {
                        word = attitude;
                    },

对我而言,最合乎逻辑的方法是:

NSDictionary * myDic = [thisList objectForKey:@"list_collection"];

注意:我没有明确初始化myDic&#39;这里。

要把事情放在上下文中,这是我的代码:

 NSString * hlists = [json objectForKey:@"lists"];
    NSData* data = [hlists dataUsingEncoding:NSUTF8StringEncoding];
    NSArray *wrtsLists = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonParsingError];
    Lists = [[NSMutableArray alloc]init];
    for (NSDictionary *thisList in wrtsLists){
        WordList* theList = [[WordList alloc]init];
        theList.title = [thisList valueForKey:@"title"];
        [Lists addObject:theList];
        NSDictionary *myDic = thisList[@"list_collection"];
       >>>>this is where I put a breakpoint. myDic is nil here
    }

感谢您的见解。

2 个答案:

答案 0 :(得分:1)

你可以简单地得到&#34; list_collection&#34;来自&#34; thisList&#34;的数组使用此代码

NSDictionary *myDic = thisList[@"list_collection"]; 

答案 1 :(得分:-1)

试试这个希望它可以帮助你

NSDictionary *myDic =  [thelist valueForKey:"list_collection"];