NSJSONSerializationなどのjsonパーサーを実行したとすると、NSDictionaryの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がセルの最初の行に配置され、郵便番号がセルの2行目に配置されます。両方を1行にする場合は、セルのスタイルをに変更しUITableViewCellStyleDefault
、2つの文字列を組み合わせて、cell.textLabel.text
その文字列に設定します。