[英]2 dimensional array in UITableView
我从JSON获得image和imageTitle,如下所示
//geting imageTitle
NSString*titles =[dealPosted valueForKey:@"deaTitle"];
NSLog(@"titles^^^%@",titles);
[titlearray addObject:titles];
//geting Images
NSString *geting2 =[diction2 valueForKey:@"dealimage"];
NSData *getdata2=[[NSData alloc]initWithData:[NSData dataFromBase64String:geting2]];
NSLog(@"good day2 %@",getdata2);
dataimages2=[UIImage imageWithData:getdata2];
[secondarray addObject:dataimages2];
然后像这样将它们传递给UITableViewCell
cell.thumbnailImageView.image = [secondarray objectAtIndex:indexPath.row];
cell.nameLabel.text = [titlearray objectAtIndex:indexPath.row];
但这需要使用两个mutablearray。 我认为这会占用很多空间。因此,请任何人告诉我在这种情况下如何使用Single Array(例如二维数组)。
请帮我 。
提前致谢。
NSMutableDictionary *dataDic =[[NSMutableDictionary alloc] init];
NSString*titles =[dealPosted valueForKey:@"deaTitle"];
[dataDic setValue:titles forKey:@"deaTitle"];
NSString *geting2 =[diction2 valueForKey:@"dealimage"];
NSData *getdata2=[[NSData alloc]initWithData:[NSData dataFromBase64String:geting2]];
NSLog(@"good day2 %@",getdata2);
dataimages2=[UIImage imageWithData:getdata2];
[dataDic setValue:dataimages2 forKey:@"dealimage"];
[titlearray addObject:titles];
然后像这样将它们传递到UITableViewCell中,就可以解决您的问题
cell.thumbnailImageView.image = [[titlearray objectAtIndex:indexPath.row] valueForKey:@"dealimage"];
cell.nameLabel.text = [[titlearray objectAtIndex:indexPath.row] valueForKey:@"deaTitle"];
您可以在一个数组中一个接一个地设置这两个值(对于每个图像)。 然后可以将它们作为indexPath.row * 2访问。
//geting imageTitle
NSString*titles =[dealPosted valueForKey:@"deaTitle"];
NSLog(@"titles^^^%@",titles);
[myArray addObject:titles];
//geting Images
NSString *geting2 =[diction2 valueForKey:@"dealimage"];
NSData *getdata2=[[NSData alloc]initWithData:[NSData dataFromBase64String:geting2]];
NSLog(@"good day2 %@",getdata2);
dataimages2=[UIImage imageWithData:getdata2];
[myArray addObject:dataimages2];
现在在表委托方法numberOfRowsInSection: return myArray.count/2
并在cellForRowAtIndexPath中:
cell.thumbnailImageView.image = [myArray objectAtIndex:(indexPath.row*2)+1];
cell.nameLabel.text = [myArray objectAtIndex:indexPath.row*2];
我之所以回答您,是因为您使用一个数组来询问它,但是实际上,使用单个2D数组,包含所有信息的单个1D数组或2个单独的1D数组不会对您的内存产生任何影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.