将 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 的联系人应用程序中

将验证码添加到响应式引导程序联系表单

如何将 css 添加到我的其他本地网页? [关闭]

为啥我的 php 没有将我的联系表单输入发送到我的电子邮件?

Wordpress - 联系表格 7 - 卡住发送联系表格