假设您通过 NSJSONSerialization 之类的 json 解析器运行它,您现在拥有一个 NSDictionarys 的 NSArray。cellForRowAtIndexPath
在你的 UITableView 或 UITableViewController 类中实现 UITableViewDatasource 方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = nil;
NSDictionary *addressDictionary = nil;
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
if ([indexPath row] <= [[self jsonAddressArray] count]){
rowDictionary = [[self jsonAddressArray] objectAtIndex:[indexPath row]];
if (rowDictionary != nil){
cell.textLabel.text = [rowDictionary objectForKey:@"address_line1"];
cell.detailTextLabel.text = [rowDictionary objectForKey:@"zipcode"];
}
}
return cell;
}
(这假设您将属性“jsonAddressArray”设置为解析的 JSON 数据。)
这会将地址行 1 放在单元格的第一行,将邮政编码放在单元格的第二行。如果您希望两者都在一行,请将单元格样式更改为UITableViewCellStyleDefault
,合并两个字符串并设置cell.textLabel.text
为该字符串。