我已经创建了一个表格视图,它显示来自数组的数据。但是现在当我滚动表格视图时,我的数据会发生不可接受的变化。
那么,如何在创建表视图时第一次滚动和设置所有数据时防止表视图刷新。
这是我的代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
ExampleAppDataObject* theDataObject = [self theAppDataObject]; // Return the number of sections.
return theDataObject.vendorTableAry.count; //this is return value of array and it will be more than 2 which help to create section
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 4; // i want only 4 row in each section
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ExampleAppDataObject* theDataObject = [self theAppDataObject];
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
UITableViewCell * cell = [tableView
dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
if(cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:SimpleTableIdentifier];
/*cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:SimpleTableIdentifier] autorelease];
*/
if (indexPath.row==0) {
UILabel * vendorLbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 2, 60, 39)];
[[vendorLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorLbl.backgroundColor = [UIColor clearColor];
[vendorLbl setText:@"vender"];
[cell.contentView addSubview:vendorLbl];
UILabel * columnLbl = [[UILabel alloc] initWithFrame:CGRectMake(80, 2, 10, 39)];
columnLbl.backgroundColor = [UIColor clearColor];
[columnLbl setText:@":"];
[cell.contentView addSubview:columnLbl];
UILabel * vendorValueLbl = [[UILabel alloc] initWithFrame:CGRectMake(98, 2, 195, 39)];
[[vendorValueLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorValueLbl.backgroundColor = [UIColor clearColor];
[vendorValueLbl setText:[theDataObject.vendorTableAry objectAtIndex:indexPath.section]];
[cell.contentView addSubview:vendorValueLbl];
}
if (indexPath.row==1) {
UILabel * vendorLbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 2, 60, 39)];
[[vendorLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorLbl.backgroundColor = [UIColor clearColor];
[vendorLbl setText:@"Gallons"];
[cell.contentView addSubview:vendorLbl];
UILabel * columnLbl = [[UILabel alloc] initWithFrame:CGRectMake(80, 2, 10, 39)];
columnLbl.backgroundColor = [UIColor clearColor];
[columnLbl setText:@":"];
[cell.contentView addSubview:columnLbl];
UILabel * vendorValueLbl = [[UILabel alloc] initWithFrame:CGRectMake(98, 2, 195, 39)];
[[vendorValueLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorValueLbl.backgroundColor = [UIColor clearColor];
[vendorValueLbl setText:[theDataObject.gallonsTableAry objectAtIndex:indexPath.section]];
[cell.contentView addSubview:vendorValueLbl];
}
if (indexPath.row==2) {
UILabel * vendorLbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 2, 60, 39)];
[[vendorLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorLbl.backgroundColor = [UIColor clearColor];
[vendorLbl setText:@"Route"];
[cell.contentView addSubview:vendorLbl];
UILabel * columnLbl = [[UILabel alloc] initWithFrame:CGRectMake(80, 2, 10, 39)];
columnLbl.backgroundColor = [UIColor clearColor];
[columnLbl setText:@":"];
[cell.contentView addSubview:columnLbl];
UILabel * vendorValueLbl = [[UILabel alloc] initWithFrame:CGRectMake(98, 2, 195, 39)];
[[vendorValueLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorValueLbl.backgroundColor = [UIColor clearColor];
[vendorValueLbl setText:[theDataObject.routeTableAry objectAtIndex:indexPath.section]];
[cell.contentView addSubview:vendorValueLbl];
}
if (indexPath.row==3) {
UILabel * vendorLbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 2, 60, 39)];
[[vendorLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorLbl.backgroundColor = [UIColor clearColor];
[vendorLbl setText:@"Date"];
[cell.contentView addSubview:vendorLbl];
UILabel * columnLbl = [[UILabel alloc] initWithFrame:CGRectMake(80, 2, 10, 39)];
columnLbl.backgroundColor = [UIColor clearColor];
[columnLbl setText:@":"];
[cell.contentView addSubview:columnLbl];
UILabel * vendorValueLbl = [[UILabel alloc] initWithFrame:CGRectMake(98, 2, 195, 39)];
[[vendorValueLbl layer] setCornerRadius:5.0f];
//[vendorLbl setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0]];
vendorValueLbl.backgroundColor = [UIColor clearColor];
[vendorValueLbl setText:[theDataObject.dateTableAry objectAtIndex:indexPath.section]];
[cell.contentView addSubview:vendorValueLbl];
}
}
return cell;
}