2016-01-29 73 views
0

從地址簿中獲取所有聯繫人以顯示自定義聯繫人選擇器時,某些聯繫人是部分聯繫人。即相同的聯繫人可能已經從Facebook或iCloud同步。因此可能有兩個聯繫人,一個包含電子郵件地址,另一個包含同一個人的電話號碼。在獲取地址簿中的所有聯繫人時,如何將這部分拆分的聯繫人統一爲一個聯繫人。如何使用AddressBook框架從ABAddressBook iOS獲取統一聯繫人,但不使用新聯繫人框架?它甚至有可能嗎?

回答

0

有一個屬性: - ABRecordID爲獲取聯繫人的唯一ID。

例如: - 在你的iPhone的聯繫人,有X先生這樣的接觸: -

X先生

+1 5667-8899

+91 77977 98789

[email protected]

[email protected]

因此,要唯一標識屬於Mr X的所有電子郵件或電話號碼,ABRecordID就在那裏。

根據您的問題,每當您嘗試獲取所有聯繫人時,一旦完成,然後根據記錄ID對聯繫人數據進行分組,這就是您將如何獲得多個電話或電子郵件的單一聯繫人。

蘋果DOC: - https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/DirectInteraction.html

+0

嗨,哥們,你能否解釋一下嗎?您是否在說我提取的某些聯繫人可能具有相同的recordId,爲了合併他們的詳細信息(電話,電子郵件),我必須遍歷所有聯繫人?另外如果兩個不同的聯繫人碰巧有相同的名字和姓氏,他們不應該有相同的recordId,我不應該將它們合併到一個單一的聯繫人權限? –

+0

那麼,如果兩個不同的聯繫人有相同的名稱,他們將有不同的recordid。 – Vizllx

+0

關於這個---「您是否說過我提取的某些聯繫人可能具有相同的recordId,我必須遍歷所有聯繫人才能合併他們的詳細信息(電話,電子郵件)?」 ----是的,您只需按照記錄ID對所有號碼和電子郵件進行單一聯繫即可。你清楚嗎? – Vizllx

相關問題