2013-03-09 119 views
0

This is the default contacts image如何从地址簿中的联系人10-10

我想要实现在从地址book.Any可能性越来越时间或装载10个联系人来检索地址簿中的所有联系人,但它们显示10-10在再寄一次接触我检索图像,名字,所有的iPhone contacts.I的姓氏要实现这个电子邮件retrive电子邮件联系人也喜欢10-10电子邮件联系人。 Like this image the contacts or email contacts to be retrieved 这里是我的示例代码:

SData *imageData = (NSData *)CFBridgingRelease(ABPersonCopyImageDataWithFormat(ref, kABPersonImageFormatThumbnail)) ; 

      CFStringRef firstName1, lastName1; 


      firstName1 = ABRecordCopyValue(ref, kABPersonFirstNameProperty); 
      lastName1 = ABRecordCopyValue(ref, kABPersonLastNameProperty); 
      NSString *name=[[NSString alloc]init]; 


      if ([[NSString stringWithFormat:@"%@",firstName1] isEqualToString:@"(null)"] && [[NSString stringWithFormat:@"%@",lastName1] isEqualToString:@"(null)"]) 
      { 

       name = @"No Name"; 
      } 
      else if([[NSString stringWithFormat:@"%@",firstName1] isEqualToString:@"(null)"] && ![[NSString stringWithFormat:@"%@",lastName1] isEqualToString:@"(null)"]) 
      { 

       name = [NSString stringWithFormat:@"%@",lastName1]; 
      } 

      else 
      { 
       name = [NSString stringWithFormat:@"%@",firstName1]; 

      } 

      name= [ name capitalizedString]; 

      EmailandCotactsModel *emailmodel=[[EmailandCotactsModel alloc]init]; 
      emailmodel.emailemailstring=(__bridge NSString *)(contno); 
      emailmodel.emailusernamestring=name; 


      if(!imageData) 
      { 
       NSString *path = [[NSBundle mainBundle] pathForResource:@"NoImage" ofType:@"png"]; 
       NSData *photoData = [NSData dataWithContentsOfFile:path]; 
       emailmodel.emailimagesData=photoData; 
      } 
      else 
      { 
       emailmodel.emailimagesData=imageData; 

      } 


      [emailarray addObject:emailmodel]; 

      callsmsDataBool=NO; 

      NSLog(@"table email count %d and i %d",emailarray.count,tablecountint); 
      if(emailarray.count==tablecountint) 
      { 

       NSLog(@"table email reload"); 

       tablecountint=tablecountint+10; 

       dispatch_async(dispatch_get_global_queue(0,0),^{ 
        [self reloadtable]; 
       }); 

       NSLog(@"perform selection in bg"); 

      } 

     } 
    } 


    [self.tableview reloadData]; 


    if(!emailarray.count && [socialstring isEqualToString:@"Email"]) 
    { 
     [email protected]"Emails not found"; 
    } 
    else if(emailarray.count && [socialstring isEqualToString:@"Email"]) 
    { 
     // [email protected]"Email"; 

     selectedlabel.text=[NSString stringWithFormat:@"%ld",nPeople]; 
    } 
    else if(!emailarray.count && [socialstring isEqualToString:@"SMS"]) 
    { 
     [email protected]"Phone no's not found"; 
    } 
    else if(emailarray.count && [socialstring isEqualToString:@"SMS"]) 
    { 
     [email protected]"SMS"; 
    } 
    else 
    { 
     [email protected]""; 
    } 

    [tableview reloadData]; 

任何有价值的建议将理解....

在此先感谢。

回答

1

获得在一个阵列中的所有联系人后复制10次接触,以与该新的数组另一个数组和CAL表重载方法通过调用该方法最初LOWERLIMIT = 0和UPPERLIMIT = 10;

-(void)tabledataloadingmethod 
{ 
    for (lowerlimit=0+lowerlimit; lowerlimit<upperlimit; lowerlimit++) 
    { 
     if (lowerlimit<[self.array1 count]) 
     { 
      OBJECT *obj=[self.array1 objectAtIndex:lowerlimit]; 
      [self.array2 addObject:obj]; 

     } 

    } 
    [self.tbleview reloadData]; 

} 

表delagete方法cellforrowatindex使用

if ([self.array2 count]==indexPath.row) 
      { 


       UITableViewCell *cell1=[self.tbleview dequeueReusableCellWithIdentifier:@"cells"]; 
       if(cell1==nil) 
       { 
        cell1=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Cells"]; 
       } 

       cell1.textLabel.textColor = [UIColor whiteColor]; 
       [email protected]"Loading more..."; 

       [self performSelector:@selector(loadmorecells) withObject:nil afterDelay:0.2]; 



       return cell1; 
    }  
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 

    if ([self.array2 count]>0 && ([self.array2 count]<[self.array1 count])) 
    { 
     return [self.array2 count]+1; 
    } 
    else 
    { 
     return [self.array2 count]; 
    } 
} 

这里我们增加LOWERLIMIT和UPPERLIMIT在loadmorecells方法

-(void)loadmorecells 
    { 

     lowerlimit = upperlimit; 

     upperlimit = upperlimit +10; 
     [self tabledataloadingmethod]; 
    } 
相关问题