2014-01-18 26 views
0

我有一个NSMutable数组和UITableview,添加地址簿中的数字。只需添加和删除数字就可以正常工作。我创建了一个自定义表格单元格,其中包含显示联系人姓名和编号的想法。我再次可以在上面显示一个数字。iOS 7地址簿和NSMutableArray与UITableView获取名称和编号

我不确定如何还添加联系人的名字到NSMutable阵列,(我不知道它的可能 - 从周围的Googling)

来接我的联系人我使用苹果的代码片段dev下指导Link

请有人指出我在正确的方向吗?示例或教程。

+0

你有一个数组中的电话号码,但不能把名称放在数组中? –

+0

是的,我有一个数组中的电话号码。我想知道如果我可以将联系人姓名添加到相同的数组,或者我将不得不创建一个新的数组/做其他事吗? – Steve

回答

0

我试着添加另一个NSMutableArray,并且在拾取时遇到“null”contact的错误。

经过一些头部抓挠和Googleing没有一个确切的答案我编辑了一个联系人,发现我的一些联系人只有一个姓氏和一些只是第一 - 我的联系人已从Android设备和Windows Phone导入。我在Iphone上创建的联系人工作得很好。

我想出了这段代码来解决这个问题,将首字母和姓氏字符串加在一起。如果一个是空的,我添加一个空白。

NSString* firstname = (__bridge_transfer NSString*)ABRecordCopyValue(person, 
                    kABPersonFirstNameProperty); 


NSString* lastname = (__bridge_transfer NSString*)ABRecordCopyValue(person, 
                   kABPersonLastNameProperty); 

NSString* name; 


if (firstname == Nil) { 
    firstname = @""; 
} 

if (lastname == Nil) { 
    lastname = @""; 
} 

name = [NSString stringWithFormat:@"%@ %@", firstname, lastname]; 

我没有想到“ABRecordCopyCompositeName”提供一个友好的名字,但我仍然回来了空。

0

因为你能够获得电话号码,我假设你已经知道如何获得对ABRecordRefs的引用。为了得到一个ABRecordRef的全名,你就必须使用这个方法:

ABRecordCopyCompositeName(recordRef); 

这会返回一个CFStringRef,它可以是__bridge编到一个NSString在表视图中使用。

+0

感谢您的回复。一旦我有名字和数字,我可以将它们都添加到我的NSMutableArray中?我想在我的表格的单元格中显示 – Steve

+0

你可以做的是有一个数组数组。像'@ [@ [@“全名”,@“PhoneNum”]];' – erdekhayser