我在下面给出了一些json数据,我希望将它显示在一个表中,其中部分标题是Departments,Designing,Employees,Developing,Employees。
我在numberOfSectionsInTableView
,titleForHeaderInSection
中使用了静态数据,但我希望使用动态数据。
我该怎么做?
{
"Departments":[
{
"name":"Designing",
"id":"1.1",
"Employees":[
{
"name":"Ramesh",
"id":"1.1.1",
"salary":"4lakhs"
},
{
"name":"Suresh",
"id":"1.1.2",
"salary":"4lakhs"
}
]
},
{
"name":"Developing",
"id":"1.2",
"Employees":[
{
"name":"Ram",
"id":"1.2.1",
"salary":"4lakhs"
},
{
"name":"Sam",
"id":"1.2.2",
"salary":"4lakhs"
}
]
}
}
答案 0 :(得分:0)
首先,您必须从您指定的字符串JSON对象创建NSDictionary。
NSDictionary *myDict = [NSJSONSerialization JSONObjectWithData:webData options:nil error:NULL];
然后在表格视图中委托方法:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [[myDict valueForKey:@"Departments"] count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[[[myDict valueForKey:@"Departments"] objectAtIndex:section] valueForKey:@"Employees"] count];
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [[[myDict valueForKey:@"Departments"] objectAtIndex:section] valueForKey:@"name"];
}
或者至少我会尝试将它们设置为这样。