在tableView上展示数据时遇到的问题
2012-04-11 15:17
435 查看
这些天下来,就做了一个界面,显然是慢了,在tableView上显示的假数据都搞得这么麻烦,显然是值得反思的,里面涉及到的技术要点还是有些的。
首先得需实现增删cell,然后得实现增删cell后假数据不能错乱,每一个cell里都有一个lable和一个textField,刚开始我写的是用一个数组存储lable要显示的数据,用字典来存储以后在textField里要显示的数据,可是在做增加删除cell时发现,处理起来比较麻烦,写了很多代码,而且让别人看起来很困难,可读性不强,只是自己一味的蛮干。
NSMutableArray *array = [[NSMutableArray
alloc]
initWithObjects:@"出发城市:",@"目的城市:",
@"出发日期:",@"旅客姓名:",@"证件号码:",@"配送地址:",nil];
self.fieldLables = array;
[array
release];
NSMutableDictionary *dict = [[NSMutableDictionary
alloc]
init];
self.tempValues = dict;
[dict
release];
因为在删除一个cell时要上调下面的cell里的关键字,所以牵一发而动全身,各种判断在里面。
后来经朋友提示,只用一个数组解决,在数组里装字典,字典里有lable要显示的数据,也存储textField要存储的数据,这样处理起来就方便多了,因为删除一个cell时数组就好办多了,这样写的代码清晰明了,可复用性也强。
NSMutableArray *array = [[NSMutableArray
alloc]
initWithObjects:@"出发城市:",@"目的城市:",
@"出发日期:",@"旅客姓名:",@"证件号码:",@"配送地址:",nil];
NSMutableArray *dataArr = [[NSMutableArray
alloc]
initWithCapacity:0];
for(int i =
0; i < [array count]; i++)
{
NSMutableDictionary *tmpdic = [[NSMutableDictionary
alloc]
initWithCapacity:0];
[tmpdic
setObject:[array objectAtIndex:i]
forKey:@"labelText"];
[tmpdic
setObject:@""
forKey:@"textFieldText"];
[dataArr
addObject:tmpdic];
[tmpdic
release];
}
self.fieldLables = dataArr;
[array
release];
[dataArr
release];
然后用tempValues用来随时取出数组里的字典,然后利用字典去取值。
当然里面还涉及到一些其它的要点,都是以后做东西会遇到的问题,但是这个点让我印象很深刻!这可能刚开始做的时候感觉两种都行,然而随着后面要处理的数据时,才发现后面一种会简单很多,这可能就是所谓的布局的问题了吧!
首先得需实现增删cell,然后得实现增删cell后假数据不能错乱,每一个cell里都有一个lable和一个textField,刚开始我写的是用一个数组存储lable要显示的数据,用字典来存储以后在textField里要显示的数据,可是在做增加删除cell时发现,处理起来比较麻烦,写了很多代码,而且让别人看起来很困难,可读性不强,只是自己一味的蛮干。
NSMutableArray *array = [[NSMutableArray
alloc]
initWithObjects:@"出发城市:",@"目的城市:",
@"出发日期:",@"旅客姓名:",@"证件号码:",@"配送地址:",nil];
self.fieldLables = array;
[array
release];
NSMutableDictionary *dict = [[NSMutableDictionary
alloc]
init];
self.tempValues = dict;
[dict
release];
因为在删除一个cell时要上调下面的cell里的关键字,所以牵一发而动全身,各种判断在里面。
后来经朋友提示,只用一个数组解决,在数组里装字典,字典里有lable要显示的数据,也存储textField要存储的数据,这样处理起来就方便多了,因为删除一个cell时数组就好办多了,这样写的代码清晰明了,可复用性也强。
NSMutableArray *array = [[NSMutableArray
alloc]
initWithObjects:@"出发城市:",@"目的城市:",
@"出发日期:",@"旅客姓名:",@"证件号码:",@"配送地址:",nil];
NSMutableArray *dataArr = [[NSMutableArray
alloc]
initWithCapacity:0];
for(int i =
0; i < [array count]; i++)
{
NSMutableDictionary *tmpdic = [[NSMutableDictionary
alloc]
initWithCapacity:0];
[tmpdic
setObject:[array objectAtIndex:i]
forKey:@"labelText"];
[tmpdic
setObject:@""
forKey:@"textFieldText"];
[dataArr
addObject:tmpdic];
[tmpdic
release];
}
self.fieldLables = dataArr;
[array
release];
[dataArr
release];
然后用tempValues用来随时取出数组里的字典,然后利用字典去取值。
当然里面还涉及到一些其它的要点,都是以后做东西会遇到的问题,但是这个点让我印象很深刻!这可能刚开始做的时候感觉两种都行,然而随着后面要处理的数据时,才发现后面一种会简单很多,这可能就是所谓的布局的问题了吧!
相关文章推荐
- 自定义tableview,数据不完整问题
- 关于tableview的界面得数据的变化怎么进行刷新的问题
- (一二四)tableView的多组数据展示和手动排序
- TableView 无数据时展示占位视图
- iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见
- tableview当对应组的数据展示完后对应的section的头部或尾部才消失
- tableView 解决加载数据混乱问题
- RxSwift在UITableViewCell或者UICollectionViewCell中绑定数据遇到的UI混乱的问题
- 开发笔记-tableView展示数据常见设置
- 封装展示没有数据的tableview
- iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)
- 如何让tableView展示数据
- ScrollView+ViewPager+Fragment进行数据展示及问题处理
- 06-UI-TableView展示数据三部曲”
- 调用企业信息查询接口展示数据并对外提供接口遇到的问题
- 【iOS7开发笔记】tableView展示数据的过程
- 折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)
- 今天遇到的2个TableView的问题
- tableView 遇到 Identifier问题解决
- 在含有WebView、ScrollView和TableView等的Controller中侧滑返回无效,解决侧滑返回,又遇到假死问题的解决办法