// JSON の例
.H ファイル
NSMutableArray *arrRespone;
NSMutableDictionary *resultsDictionary;
.M ファイル
kBgQueue を定義する dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) //1
// iphone で配列 json 値を uitableview に出力する方法
「ViewController.h」をインポート
@インターフェイス ViewController ()
@終わり
@実装ViewController
@synthesize tableView1;
{
arrRespone=[NSMutableArray new];
practice_ArrayForDisplayingEx=[[NSArray alloc]initWithObjects:@"bhupi",@"bhupi",@"bhupi",@"bhupi",nil];
dispatch_async(kBgQueue, ^
{
NSData* dataURL = [NSData dataWithContentsOfURL: kLatestKivaLoansURL]; [self performSelectorOnMainThread:@selector(fetchedData:) withObject:dataURL waitUntilDone:YES]; });
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
(void)fetchedData:(NSData *)responseData {
NSError *エラー;
resultsDictionary = [NSJSONSerialization JSONObjectWithData:responseData //1 オプション:kNilOptions エラー:&error];
NSDictionary *arrDetails=[[resultsDictionary objectForKey:@"メニュー"] objectAtIndex:0] ; NSDictionary *genr=[[arrDetails valueForKey:@"categories"] objectAtIndex:0];
NSLog(@"配列の詳細配列 ====>%@",arrDetails); NSLog(@"genreee配列==%@",genr); //NSLog(@"genrvalueeee -----%@",[genr valueForKey:@"genre"]);
NSLog(@"counttttt===%d",[[genr valueForKey:@"genre" ] count]); NSLog(@"genre objectatindex==%@",[genr valueForKey:@"cliptype"]);
for (int i=0;i<[[genr valueForKey:@"genre" ] count];i++) {
NSDictionary *strDetails=[[genr valueForKey:@"genre"] objectAtIndex:i];
NSString *str=[strDetails valueForKey:@"gname"];
NSLog(@"First string details===>%@",str);
[arrRespone addObject:str];
NSLog(@"response ====>%@",arrRespone);
} [tableView1 reloadData]; }
プラグマ マーク テーブル ビュー メソッド
(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"numberOfSectionsInTableView");
1 を返します。}
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 45;
NSLog(@"heightForRowAtIndexPath");
}
// テーブル ビューの行数をカスタマイズします。- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSLog(@"numberOfRowsInSection");
[arrRespone カウント] を返します。}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
}
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"inside tableview"); static NSString *CellIdentifier = @"TableCell";
//TableCell *cell = (TableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (セル == nil) {
cell = [[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier];
} // cell.textLabel.text=[arrRespone objectAtIndex:indexPath.row];
NSLog(@"cellvalue:%@",cell.textLabel.text); NSLog(@"inside numberofRowsInsection"); // セルを構成します... cell.textLabel.text = [arrRespone objectAtIndex:indexPath.row];
セルを返します。
}
- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // 再作成できるすべてのリソースを破棄します。}
@終わり