I want to implement for getting or loading 10 contacts at a time from address book.Any possibility to retrieve all contacts from address book but display them 10-10 contacts at a time.I am retrieving image,first name,last name of all iphone contacts.I want to implement this to email retrive email contacts also like 10-10 email contacts.
Here is my sample code:
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"])
{
selectedlabel.text=@"Emails not found";
}
else if(emailarray.count && [socialstring isEqualToString:@"Email"])
{
// selectedlabel.text=@"Email";
selectedlabel.text=[NSString stringWithFormat:@"%ld",nPeople];
}
else if(!emailarray.count && [socialstring isEqualToString:@"SMS"])
{
selectedlabel.text=@"Phone no's not found";
}
else if(emailarray.count && [socialstring isEqualToString:@"SMS"])
{
selectedlabel.text=@"SMS";
}
else
{
selectedlabel.text=@"";
}
[tableview reloadData];
Any valuable suggestions will be appreciated....
Thanks in advance.