如题

解决方案 »

  1.   

    - (UITableViewCell *)tableView:(UITableView *)tableView 
             cellForRowAtIndexPath:(NSIndexPath *)indexPath 在上面函数中把所有的UITableViewCell都add到一个   NSMutableArray 中
    再遍历NSMutableArray
      

  2.   

    我的cell是可编辑的,不能这样做,我要最后得到cell里的最新的值
      

  3.   

    把所有的cell都放到array中作为成员变量。
      

  4.   

    关键不在cell,而在于数据源datasources吧,只要获取datasources的内容即可
    table没刷新说不定还不是最新的呢
      

  5.   

    思路
    根据row得到indexpath
    根据indexpath得到cell
    NSIndexPath *path=[NSIndexPath indexPathWithIndex:row];
    UITableViewCell *cell=[localTable cellForRowAtIndexPath:path];
      

  6.   

    这样真的可以么? 考虑到tableview的重用机制,被添加到array中的cells不一定有正确的顺序吧.或者不一定重复添加进去了什么东西...
      

  7.   

    我觉得你应该这样,首先定义一个成员arrayAllThoseIndexPathes用来保存所有的IndexPath
    这样arrayAllThoseIndexPathes中就记录了你所有的cell的位置,而不是内容.
    接下来在你想遍历tableview的时候使用
    for(int i = 0; i<arrayAllThoseIndexPathes.count; i++)
       [tableview cellForRowAtIndexPath:[arrayAllThoseIndexPathes objectAtIndex:i]];//每次循环得到一个cell,至上而下遍历所有位置的cell
      

  8.   

    官方代码中,鼓励的是Cell的重复使用,可以节约相当多的内存资源。所以当数据个数大于页面显示的cell个数时,是从之前已经不被显示的cell对象中找到一个风格相同的进行重新设置,如果是使用这样的情况,你就需要独立保存你的数据对象,如同二楼 三楼给你的思路一样,唯一要做的是cell被修改的话,数据需要同步。当然你也可以不采用这个方式,为每个数据对象新建一个cell,那样cell就是数据存储对象,你遍历cell自然可以。
      

  9.   

    楼主说的这个,根据MVC的模型,你只需要去改数据,更新就跟着变化了;
    非要获取cell,要得到什么?
    得到cell里的信息,和从数据中直接获取有区别吗?