这个标题弄的有点糊涂,不知道能不能引起各位大侠的注意!
是这样的,我有一些数据,用JSON来存,然后读到了字典里。打印出来字典里的数据如下:         {ScoreDoc = ({"id" = 1,"shop_id" = 3579, "city_id" = 3, shop_name = "NIKE",image = "nike.jpg",shoptitle = "welcome to NIKE",……},
                      {"id" = 2,"shop_id" = 4673, "city_id" = 3, shop_name = "ANTA",image = "anta.jpg",shoptitle = "welcome ti ANTA",……},
                      {……},
                      {……},);
          totalHits = 5000;
          useSecond = "0.006";}
我定义了一个tableview,定义了一个tableviewcell, cell中的控件中一个UIImageView,两个TextLabel,我想要在tableview的第一行的左边显示NIKE的一张图片,右边上方的label显示shop_name,右边下方的label显示shoptitle,在tableview的第二行的左边显示ANTA的一张图片,右边上方的label显示shop_name,右边下方的label显示shoptitle,依此类推。要做到这种效果,我该怎么做?首先我肯定要遍历字典,要怎么遍历呢?接下来应该怎么做才能把对应的内容显示在对应的tableview的行?  谢谢!

解决方案 »

  1.   

    把字典转换数组,数组的下标对应tableview的row
      

  2.   

    NSDictionary的方法allValues返回所有值的数组
    另外可能还需要将数组做一下排序处理
      

  3.   

    对table的delegate和array的理解不够
    每个cell的数据源对应[array objectatindex:row]即可
      

  4.   

    你说的对,因为刚开始学,所以我第一次接触,不管是tableview还是NSdictionary,现在还是一点头绪都没有。
      

  5.   


    我要在每个cell中显示不同的图片
    cell.imageView.image = [UIImage imageNamed:[data objectAtIndex:[indexPath row] ] objectForKey:@"coupon_s_image"];
    这样用不对吗?
    还有,我有两个textLabel,用了tag来控制显示,可是不起作用,if(cell.textLabel.tag == 1){
            cell.textLabel.text = [[data objectAtIndex:[indexPath row] ] objectForKey:@"shop_name"];
        }
        if(cell.textLabel.tag == 2){
            cell.textLabel.text = [[data objectAtIndex:[indexPath row] ] objectForKey:@"coupon_title"];
        }
    这样的话,cell中没有内容。  这个要怎么写?请大侠你支招!!!谢谢!
      

  6.   

    1.在控制器的viewDidLoad方法加加载json 中的数据,并得到NSDictionary 对象
    2.在UITableView 的委托方法-(UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath {
         NSUInteger row=[indexPath row];
         NSDictionary *mydict=[dict objectForKey:@"ScoreDoc"];
         UITableViewCell *cell=nil;
         ......
         ......
         cell.textLabel.text=[mydict objectForKey:@"shop_name"];
         ....
         return cell;
    }
      

  7.   


    谢谢两位大哥的指点,现在可以了,就是一个frame的大小没设定好!
      

  8.   

    你说的对,因为刚开始学,所以我第一次接触,不管是tableview还是NSdictionary,现在还是一点头绪都没有。