2011-11-14 5 views
3

je veux montrer mes en-têtes de courrier électronique dans un UITableView lorsque le bouton de la boîte de réception cliqué, mes en-têtes de courrier électronique est stocké dans un tableau NSMutable,tableau NSMutable à uitableview lorsque le bouton cliqué

-(IBAction)buttonInbox:(id)sender{ 

     NSLog(@"Inbox Button Clicked %@",buttonInbox); 
     [self select:@"INBOX"]; 
     NSArray *lines = [self sendCommand:@"fetch 1:* (body[header.fields (from subject date)])"]; 



     //NSMutableArray *emaiArray= [[NSMutableArray alloc] init]; 
     NSMutableString *totalEmail= [NSMutableString stringWithString:@""]; 

     int counter = 0; 
     int i =0; 
     NSRange tmp; 
     for(i=0;i<[lines count];i++) 
     { 

      NSString *line = [lines objectAtIndex:i]; 

      //NSLog(@" Burda %@" ,line); 
      tmp = [line rangeOfString:@"Date:"]; 
      if(tmp.location != NSNotFound) 
      { 
       //NSLog(@" Date basildi %@" ,line); 
       counter++; 
       [totalEmail appendString:line ]; 

      } 

      tmp = [line rangeOfString:@"From:"]; 
      if (tmp.location != NSNotFound) { 
       //NSLog(@" From basildi %@" ,line); 
       counter++; 
       [totalEmail appendString:line ]; 
      } 

      tmp = [line rangeOfString:@"Subject:"]; 
      if (tmp.location != NSNotFound) { 
       //NSLog(@" Subject basildi %@" ,line); 
       counter++; 
       [totalEmail appendString:line ]; 
      } 
      if (counter==3) { 
       [emailList addObject:totalEmail]; 
       counter =0; 
       NSLog(@"total Email %@" ,totalEmail); 
       totalEmail = [NSMutableString stringWithString:@""]; 
      } 
    } 
} 

i ont essayé jusqu'à présent, mais couldnt trouver des lignes directrices pour mettre ce lorsque le bouton cliqué sur les événements, ceci ne fonctionne aucune façon il montre un tableview vide de toute façon

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [emailList count]; 
} 

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@"Cell %i",indexPath.section]]; 

    if (cell == nil) { 

     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:[NSString stringWithFormat:@"Cell %i",indexPath.section]] autorelease]; 

    } 

    cell.textLabel.text = [emailList objectAtIndex: indexPath.row]; 

    return cell; 
} 

Répondre

2

Essayez d'appeler [[self tableView] reloadData] à la fin du sélecteur buttonInbox:.

Ceci actualisera le tableauView.

Je suggère toutefois examiner la documentation UITableView et voir comment utiliser -(void) beginUpdates et -(void) endUpdates afin que vous puissiez avoir une meilleure expérience visuelle et laissez la vue de table animer les lignes entrant.

+0

ce na pas travaillé est parce que ma vue de table est déclarée comme ** UITableView * mytableView; ** ** @ propriété (non atomic, retain) IBOutlet UITableView * mytableView; ** et je n'utilise aucune méthode mytableview dans mon fichier .m? –

+0

je l'ai compris, j'ai oublié de faire glisser le délégué à fileowner pour tableview –

Questions connexes