2014-01-18 29 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