iOSでjsonを取得してカスタムのtableViewに流し込みたい
例えば
1,[title,description,link,imgUrl]を持ったjsonをURLから取得
2,下記のようなtableを作ってクリック時にsequeにlinkを渡す
というような事がしたいです。
title
| | description,description
| img | description,description
| | description,description
jsonを取って来てtitleを通常テーブルに入れるところまでは下記の実装でできました。
- (void)getJSON:(NSURL*)url
{
//NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/jp/rss/topfreeapplications/limit=10/json"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSLog(@"json ok");
NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
// データの配列をプロパティに保持
self.items = [jsonDictionary objectForKey:@"items"]
NSLog(@"%d",(int)[self.items count]);
// TableView をリロード
[self.tableView reloadData];
}];
}
// テーブルセルの内容を設定
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
NSDictionary *item = [self.items objectAtIndex:indexPath.row];
// titleを設定
cell.textLabel.text = [item objectForKey:@"title"];
//cellにdescriptionを設定
//cellにimageを設定
//cellを押した時に発生するsequeを指定、link要素を渡す
return cell;
}