如何从地址簿中的联系人10-10
问题描述:
我想要实现在从地址book.Any可能性越来越时间或装载10个联系人来检索地址簿中的所有联系人,但它们显示10-10在再寄一次接触我检索图像,名字,所有的iPhone contacts.I的姓氏要实现这个电子邮件retrive电子邮件联系人也喜欢10-10电子邮件联系人。 这里是我的示例代码:
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];
任何有价值的建议将理解....
在此先感谢。
答
获得在一个阵列中的所有联系人后复制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];
}