0
我在VC1中实现了UITableview
,我想在单元格中显示一些JSON数据。我已经实现了一个Model类来将数据传递给表视图。Tableview数据通过模型类
dispatch_async(dispatch_get_main_queue(), ^{
NSURLSession*session=[NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:[NSURL URLWithString:@"https://itunes.apple.com/search?term=music"] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@", json);
NSArray *entryarr = [json objectForKey:@"results"];
TableClass *tc = [[TableClass alloc] init];
for (NSDictionary *appDict in entryarr) {
//setting title
NSString *str = [appDict objectForKey:@"artistName"];
[tc setTittle:str];
NSLog(@"artist Name=%@",tc.tittle);
//setting Subtitle
NSString *sub = [appDict objectForKey:@"country"];
[tc setSubtittle:sub];
NSLog(@"artist Name=%@",tc.subtittle);
//image
NSString *imageStr = [appDict objectForKey:@"artworkUrl60"];
NSURL *imageURL = [NSURL URLWithString:imageStr];
[tc setImage:imageStr];
NSData *imageData =[[NSData alloc] initWithContentsOfURL:imageURL];
//[self.imageArray addObject:imageData];
[_tableArray addObject:tc];
NSLog(@"%@ name of tittle",[_tableArray objectAtIndex:0]);
}
NSLog(@"%lu %lu %lu",(unsigned long)self.tableArray.count,(unsigned long)self.tableArray.count,(unsigned long)self.tableArray.count);
[self.tableView reloadData];
}];
[dataTask resume];
});
但是,当它访问到单元格时,我得到了数组中的最后一个元素。
TableClass *tableclassModel = [self.tableArray objectAtIndex:indexPath.row];
cell.textLabel.text = tableclassModel.tittle;
cell.detailTextLabel.text = tableclassModel.subtittle;
cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:tableclassModel.image]]];
为什么如此......?我该怎么做?