将 iphone 联系人中的联系人添加到我的表格视图
Posted
技术标签:
【中文标题】将 iphone 联系人中的联系人添加到我的表格视图【英文标题】:adding contacts from iphone contacts to my table view 【发布时间】:2011-02-08 07:50:43 【问题描述】:我想将联系人添加到表格视图中,并且我可以使用以下代码将所有联系人添加到我的表格视图中,但我想将电话联系人中的选定联系人添加到我的表格视图中。 任何人都可以帮助我如何更改以下代码.....
-(void)loadTableSource
contactsToBeAdded=[[NSMutableArray alloc] init];
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
//CFArrayRef people = ABAddressBookCopyPeopleWithName(addressBook,CFSTR("Rajesh"));
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
for(int i=0;i<nPeople;i++)
ABRecordRef person=CFArrayGetValueAtIndex(people, i);
NSString *firstName=(NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastName=(NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
NSString *organization=(NSString *)ABRecordCopyValue(person, kABPersonOrganizationProperty);
if(!firstName) firstName=@"";
if(!lastName) lastName=@"";
if(!organization) organization=@"";
NSDictionary *curContact=[NSDictionary dictionaryWithObjectsAndKeys:(NSString *)firstName,@"firstName",lastName,@"lastName",organization,@"organization",nil];
[contactsToBeAdded addObject:curContact];
CFRelease(people);
CFRelease(addressBook);
[self setTableSource:contactsToBeAdded];
[contactsToBeAdded release];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *cellIdent=[NSString stringWithFormat:@"c%i",indexPath.row];
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdent];
if(cell==nil)
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdent];
NSDictionary *dict=[tableSource objectAtIndex:indexPath.row];
UILabel *lab=[[UILabel alloc] initWithFrame:CGRectMake(5, 5, 310, 40)];
NSLog(@"lable:%@",tableSource);
[lab setNumberOfLines:2];
[lab setText:[[NSString stringWithFormat:@"%@ %@\n%@",(NSString *)[dict objectForKey:@"firstName"],[dict objectForKey:@"last_name"],[dict objectForKey:@"organization"]] stringByReplacingOccurrencesOfString:@"(null)" withString:@""]];
[cell.contentView addSubview:lab];
[lab release];
return cell;
【问题讨论】:
【参考方案1】:您没有指定要在什么条件下迭代联系人..
只需在将 curContact 字典添加到 contactsToBeAdded 数组之前使用 if () 进行检查
if([firstName hasPrefix:@"A"])
NSDictionary *curContact=[NSDictionary dictionaryWithObjectsAndKeys:(NSString *)firstName,@"firstName",lastName,@"lastName",organization,@"organization",nil];
[contactsToBeAdded addObject:curContact];
我认为这会有所帮助..!!
【讨论】:
谢谢,但如果我单击电话联系人中的联系人(姓名),我想添加特定的联系人方式,只有该联系人将添加到我的表格单元格中。以上是关于将 iphone 联系人中的联系人添加到我的表格视图的主要内容,如果未能解决你的问题,请参考以下文章
将 facebook 的联系人检索到我的应用程序中并在表格视图中显示?
如何将 vCard 中的联系人信息保存到 iPhone 的联系人应用程序中