我是iOS新手。我必须解析以下JSON并将其显示到UITableViewCell。当我解析并仅附加国家/地区项目时,单个数组出现在单元格中。但所有阵列都是为了等级,国家,人口,旗帜没有出现在单元格中。
如何在数组中添加所有rank,country,population,flag并将它们全部放入单元格中。我把它们全部变成了字符串,然后变成了数组。并将整个数组附加到主数组。
以下是JSON -
http://www.androidbegin.com/tutorial/jsonparsetutorial.txt
码
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSDictionary *allDataDictionary = [NSJSONSerialization JSONObjectWithData:webdata options:0 error:nil];
NSArray *arrayWorldPopulation = [allDataDictionary objectForKey:@"worldpopulation"];
for (NSDictionary *diction in arrayWorldPopulation)
{
NSString *country = [diction objectForKey:@"country"];
NSString *population = [diction objectForKey:@"population"];
NSString *flag = [diction objectForKey:@"flag"];
NSArray *temparray = [[NSArray alloc] initWithObjects:rank,country,population,flag, nil];
[array addObject:temparray];
}
[maintableView reloadData];
}
答案 0 :(得分:0)
至少,您需要在视图控制器中实现tableView:numberOfRowsInSection:和tableView:cellForRowAtIndexPath。这告诉表预计会有多少行以及表中每行的内容。下面的简单代码假设您有一个字符串数组,并且每个单元格只显示一个字符串,应该让您开始。您的具体情况听起来可能需要自定义单元设计。 This tutorial describes how to do this in a storyboard with a custom cell class
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [array count]; //tell the UITableView how many are items are in the array
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
//stuff to make sure iOS is reusing cells rather than creating new ones
static NSString *MyIdentifier = @"MyReuseIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];
}
NSString *itemFromArray = [array objectAtIndex:indexPath.row]; //get the item for that cell
cell.textLabel.text = itemFromArray; set the cell to display the text
return cell;
}