如何将NSDictionary中的NSDictionary放入UITableView?

时间:2016-03-10 07:04:22

标签: ios objective-c

我从服务器收到以下NSDictionary。我不知道如何访问每一行并将它们放在UITableView中。我需要一个for循环或者一个接一个地访问它们的东西:当我说:

时我会得到关注
NSLog(@"%@",dict);

{
    chores =     (
                {
            "first_due_date" = "2016-03-12";
            frequency = weekly;
            id = 1;
            name = TEST;
            parent = Blah;
            "previous_chores" =             (
            );
        },
                {
            "first_due_date" = "2016-03-12";
            frequency = weekly;
            id = 2;
            name = TEST2;
            parent = Blah;
            "previous_chores" =             (
            );
        },
                {
            "first_due_date" = "2016-03-12";
            frequency = weekly;
            id = 3;
            name = TEST3;
            parent = Blah;
            "previous_chores" =             (
            );
        }
    );
}

2 个答案:

答案 0 :(得分:2)

我猜你可以直接使用数组,而不会像下面那样拆分:

假设你有一个带字典的数组,并且在字典里面作为你的数据,kiran说:

NSArray *arrChores = [dict valueForKey @"Chores"];

您的数组看起来像第0个索引:

  {
            "first_due_date" = "2016-03-12";
            frequency = weekly;
            id = 1;
            name = TEST;
            parent = Blah;
            "previous_chores" =             (
            );
  }

所以你可以在cellForrowIndex中打印如下的名字:

 NSLog(@"=== %@",[[arrChores objectAtIndex:indexPath.row]valueForKey:@"name"])

更简单,更少维护:)

答案 1 :(得分:1)

为家务创建模型。

看着字典。

杂项是一个由字典组成的数组。

所以你可以拥有这样的数组

arrChoresGlobal = [NSMutableArray new];
NSArray *arrChores = [dict valueForKey @"Chores"];

然后迭代这个数组并有一个模型。

如下所示

for(NSDictionary *dctChore in arrChores)
{
    SomeModel *obj = [SomeModel new];
    obj.first_due_date = [dctChore valueForKey:@"first_due_date"];
    [arrChoresGlobal addObject:obj];
}

然后在tableview

中的numberOfRows中使用此数组计数
return [arrChoresGlobal count];

和cellForRowAtIndexPath

SomeModel *obj = [arrChoresGlobal objectAtIndex:indexPath.row];

编辑: - 更长但更系统的方式:)