这些天下来,就做了一个界面,显然是慢了,在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];