2011-11-11 3 views
0

J'ai une vue modifiable qui se bloque lors du défilement.Crash lors du défilement de la vue uitable

J'ai essayé des fuites et construire et analyser, mais je n'ai pas pu résoudre ce problème.

obtenir l'erreur ci-dessous

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

Voici le code que je suis en cours d'exécution.

// 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; 


} 
+1

Ne serait-il beaucoup plus facile pour vous et moins de codage, si vous avez stocké vos valeurs dans un tableau/objet? Et peut-être sous-classe UITableViewCell? – Magnus

Répondre

0

Où libérez-vous tous les objets que vous allouez? Il semble que vous essayez d'allouer les mêmes objets encore et encore.

essayer l'approche suivante:

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

Vous n'êtes pas réutilisez en fait une cellule parce que vous faites tous partie dans la cellule == Code nul bloack, changer quelque chose comme code ce

- (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; 

} 

pourrait vous aider un peu. Vérifiez s'il se bloque toujours après avoir remplacé le code par celui-ci.

0

Dans un premier temps, le mécanisme de réutilisation cellulaire ne fonctionne pas dans votre code, parce que vous faites:

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

Vous essayez de réutiliser cellule avec identifiant « Cell »? mais lorsque vous créez une cellule, créez-la avec reuseIdentifier "MyIdentifier". C'est mauvais. Vous devez créer la cellule avec le même identifiant:

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

Et déplacer votre part pour la configuration individuelle de la cellule (en fonction indexPath) en dehors déclaration if (cell == nil) {. À l'intérieur de cette déclaration, vous devriez seulement configurer globalement pour vos cellules. Configurer ici seulement les mêmes choses pour toutes les cellules dans cette vue Tanle. Parce que cette cellule sera réutilisée pour d'autres cellules.

Lorsque nous utilisons un mécanisme de réutilisation pour les cellules, il essaie de trouver la cellule avec l'identificateur (appelant [tableView dequeueReusableCellWithIdentifier:CellIdentifier]). Si ce n'est pas trouvé, que vous créez un prototype de cellule avec le même identifiant

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

et après cette partie du lieu de code de votre code spécifique pour la cellule en cours (à indexPath spécifié)

Questions connexes