当前位置:编程学习 > wap >>

我想点击一个按钮,就能遍历画面上的一个tableview,得到每一个cell的信息,该怎么做啊

如题 --------------------编程问答-------------------- - (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath 

在上面函数中把所有的UITableViewCell都add到一个   NSMutableArray 中
再遍历NSMutableArray --------------------编程问答--------------------
引用 1 楼 ybh37 的回复:
- (UITableViewCell *)tableView:(UITableView *)tableView 
  cellForRowAtIndexPath:(NSIndexPath *)indexPath 

在上面函数中把所有的UITableViewCell都add到一个 NSMutableArray 中
再遍历NSMutableArray
++正解 --------------------编程问答-------------------- 我的cell是可编辑的,不能这样做,我要最后得到cell里的最新的值 --------------------编程问答-------------------- 你要数据的时候重新遍历一遍不就可以了? --------------------编程问答-------------------- 把所有的cell都放到array中作为成员变量。 --------------------编程问答-------------------- 关键不在cell,而在于数据源datasources吧,只要获取datasources的内容即可
table没刷新说不定还不是最新的呢 --------------------编程问答-------------------- 思路
根据row得到indexpath
根据indexpath得到cell
NSIndexPath *path=[NSIndexPath indexPathWithIndex:row];
UITableViewCell *cell=[localTable cellForRowAtIndexPath:path]; --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼 yukiwang313 的回复:
引用 1 楼 ybh37 的回复:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath

在上面函数中把所有的UITableViewCell都add到一个 NSMutableArray 中
再遍历NSMutableArray
++正……

这样真的可以么? 考虑到tableview的重用机制,被添加到array中的cells不一定有正确的顺序吧.或者不一定重复添加进去了什么东西... --------------------编程问答-------------------- 我觉得你应该这样,首先定义一个成员arrayAllThoseIndexPathes用来保存所有的IndexPath
这样arrayAllThoseIndexPathes中就记录了你所有的cell的位置,而不是内容.
接下来在你想遍历tableview的时候使用
for(int i = 0; i<arrayAllThoseIndexPathes.count; i++)
   [tableview cellForRowAtIndexPath:[arrayAllThoseIndexPathes objectAtIndex:i]];//每次循环得到一个cell,至上而下遍历所有位置的cell
--------------------编程问答-------------------- 哎!LS看帖的要仔细,误人误己啊! --------------------编程问答-------------------- --------------------编程问答-------------------- 官方代码中,鼓励的是Cell的重复使用,可以节约相当多的内存资源。所以当数据个数大于页面显示的cell个数时,是从之前已经不被显示的cell对象中找到一个风格相同的进行重新设置,如果是使用这样的情况,你就需要独立保存你的数据对象,如同二楼 三楼给你的思路一样,唯一要做的是cell被修改的话,数据需要同步。当然你也可以不采用这个方式,为每个数据对象新建一个cell,那样cell就是数据存储对象,你遍历cell自然可以。 --------------------编程问答-------------------- 楼主说的这个,根据MVC的模型,你只需要去改数据,更新就跟着变化了;
非要获取cell,要得到什么?
得到cell里的信息,和从数据中直接获取有区别吗?
补充:移动开发 ,  iPhone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,