简体   繁体   中英

Crash when scrolling the uitableview

I have a uitableview which crashes when scrolling.

I have tried leaks and build and analyse but could not solve this.

getting the below error

*** -[CALayer retain]: message sent to deallocated instance 0xe192280

Below is the code i am running.

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    UIFont *font = [UIFont fontWithName:@"Arial" size:13];


    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyIdentifier"] autorelease];

        NSInteger row = [indexPath row];

        cellRect2 = CGRectMake(135, 10, 5, 20 );
        lblColon = [[UILabel alloc] initWithFrame: cellRect2];  
        lblColon.font = font;
        lblColon.backgroundColor = [UIColor clearColor];
        lblColon.textColor =  [UIColor blackColor];         
        [cell.contentView addSubview: lblColon];
        lblColon.text = @":";           

        if (tableView == tblCompanyDetails) {

            switch (indexPath.section)
            {

                case 0:
                {
                    profileName = [appDelegate.arrCompanyProfile1 objectAtIndex:indexPath.row];

                    NSLog(@"appDelegate.arrCompanyProfile1 ------> %@", appDelegate.arrCompanyProfile1);

                    if(row == 0)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Company Name";    

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *str = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        //NSLog(@"str--------%@", str);
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 1)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Type of Company"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSLog(@"profileName.namelast--------%@", profileName);
                        //NSString *strLastName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 2)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Main Contact Person"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }
                    if(row == 3)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Address"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }
                    if(row == 4)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"City";    

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }

                    if(row == 5)
                    {

                        cellRect1 = CGRectMake(10, 10, 100, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"State";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 6)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Postal / Zip Code";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }
                    if(row == 7)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Country"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }
                    if(row == 8)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Primary Phone No.";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }
                    if(row == 9)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Mobile No.";  

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }       
                    if(row == 10)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Toll Free No.";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 11)
                    {

                        cellRect1 = CGRectMake(10, 10, 100, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Websites";    

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet : [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }   

                    if(row == 12)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Email Address";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet : [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }       

                    if(row == 13)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Number of Employees"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet : [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }       

                    if(row == 14)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Legal structure"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet : [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];                   
                        break;

                    }       


                }

                case 1:
                {           
                    profileName = [appDelegate.arrCompanyProfile2 objectAtIndex:indexPath.row];


                    if(row == 0)
                    {

                        cellRect1 = CGRectMake(10, 10, 100, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Primary"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 1)
                    {

                        cellRect1 = CGRectMake(10, 10, 120, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Secondary";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSLog(@"profileName section2 ----> %@", profileName);
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 2)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"No of years in business"; 

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                }

                case 2:
                {
                    profileName = [appDelegate.arrCompanyProfile3 objectAtIndex:indexPath.row];

                    if(row == 0)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20 );
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Postal / Zip Code";   

                        cellRect3 = CGRectMake( 145, 10, 180 ,20 );                 
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }

                    if(row == 1)
                    {

                        cellRect1 = CGRectMake(10, 10, 130, 20);
                        lblTitle = [[UILabel alloc] initWithFrame: cellRect1];  
                        //UIFont *font = [UIFont fontWithName:@"Arial" size:13];
                        lblTitle.font = font;
                        lblTitle.backgroundColor = [UIColor clearColor];
                        lblTitle.textColor =  [UIColor blackColor];         
                        [cell.contentView addSubview: lblTitle];
                        lblTitle.text = @"Coverage Area (miles)";   

                        cellRect3 = CGRectMake(145, 10, 180 ,20);                   
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        //NSString *strFirstName = [profileName stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }
                }

                case 3:
                {
                    profileName = [appDelegate.arrCompanyProfile4 objectAtIndex:indexPath.row];

                    if(row == 0)
                    {


                        lblColon.hidden = YES;

                        cellRect3 = CGRectMake(10, 10, 280, 40);                    
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        //UIFont *font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   
                        break;

                    }
                }

                case 4:
                {
                    profileName = [appDelegate.arrCompanyProfile5 objectAtIndex:indexPath.row];

                    if(row == 0)
                    {


                        lblColon.hidden = YES;

                        cellRect3 = CGRectMake(10, 10, 100, 20);                    
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        [lblResult setText:[NSString stringWithFormat: @"%@ ", profileName]];   

                        break;

                    }
                }

                case 5:
                {

                    if(row == 0)
                    {

                        lblColon.hidden = YES;

                        cellRect3 = CGRectMake(10, 10, 100, 20);                    
                        lblResult = [[UILabel alloc] initWithFrame: cellRect3]; 
                        lblResult.font = font;
                        lblResult.backgroundColor = [UIColor clearColor];
                        lblResult.textColor = [UIColor blackColor];                 
                        [cell.contentView addSubview: lblResult];
                        break;

                    }
                }

            }   

        }

    }




    return cell;


}

You are not actually reusing any cell because you are doing all part within the cell== nil code bloack, Changing the code something like this

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    UIFont *font = [UIFont fontWithName:@"Arial" size:13];


    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyIdentifier"] autorelease];

        UILabel* lblColon = [[UILabel alloc] initWithFrame:CGRectMake(135, 10, 5, 20 )];  
        lblColon.font = font;
        lblColon.backgroundColor = [UIColor clearColor];
        lblColon.textColor =  [UIColor blackColor];         
        lblColon.text = @":";           
        [lblColon setTag:222];
        [cell.contentView addSubview: lblColon];
        [lblColon release];
    }

    NSInteger row = [indexPath row];
    UILabel* lblToReuse = (UILabel*)[cell.contentView viewWithTag:222];


    if (tableView == tblCompanyDetails) {
    //usual things you were doing earlier
   }

    return cell;

}

might help you a bit. Check it if it still crashes after replacing the code with this one.

Where are you releasing all the objects you are allocating? It looks like you are trying to alloc the same objects over and over.

try the following approach:

UILabel  *lblTitle = [[[UILabel alloc] initWithFrame: cellRect1] autorelease];

At first, mechanism of reusing cell doesn't work in your code, because you do:

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// ...
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyIdentifier"] autorelease];

You are trying to reuse cell with identifier "Cell"? but when you create cell you create it with reuseIdentifier "MyIdentifier". It's bad. You should create cell with the same identifier:

cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

And move your part for individually configuring of cell (depending on indexPath) outside if (cell == nil) { statement. Inside this statement you should only global configuring for your cells. Configure here only the same things for all cells in this tanle view. Because this cell will be reused for other cells.

When we are using reusing mechanism for cells it try to find cell with identifier (calling [tableView dequeueReusableCellWithIdentifier:CellIdentifier] ). If it's not found, than you create cell prototype with the same identifier

if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyIdentifier"] autorelease];
}

and after this part of code place your specific code for current cell (at specified indexPath)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM