Tob*_*dal 0 iphone objective-c abaddressbook ios
我正在尝试对我的地址簿中的所有数字进行统一更改,我想将我的国家代码(+46)添加到以0开头的所有数字,并认为我会为此制作应用程序.问题是如何以最好的方式做到这一点,看起来很难 - 很难.
通常的方式似乎是通过一个人选择器:http://developer.apple.com/library/ios/#documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/UI_Controllers.html#//apple_ref/doc/uid/TP40007744- CH5-SW4 - 但这意味着用户必须选择它想要更改的联系人,这必须是一种过于复杂的方式.
有没有办法遍历通讯录中的所有数字,更改/它,然后将它们放回去?
先谢谢你,Tobias Tovedal.
是的,您可以遍历所有记录,并可以编辑地址簿中的记录.以下是从地址簿获取所有记录的示例:
NSArray *array= (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
Run Code Online (Sandbox Code Playgroud)
以下是根据人的记录ID从地址簿编辑特定记录的代码:
ABAddressBookRef ab = ABAddressBookCreate();
ABRecordID id = ABRecordGetRecordID(person);
ABRecordRef newPerson = ABAddressBookGetPersonWithRecordID(ab, id);
if(newPerson != NULL){
if(![firstName.text isEqual:firstname]){
ABRecordRemoveValue(newPerson, kABPersonFirstNameProperty,nil);
ABRecordSetValue(newPerson, kABPersonFirstNameProperty, firstName.text,nil);
}
}
ABAddressBookSave(ab,nil);
Run Code Online (Sandbox Code Playgroud)
您可以获取数组中的记录,然后更改电话号码的值或逐个遍历记录.你需要注意一个人的电话号码,因为一个人可以有多个电话号码所以,你需要使用ABMultiValueRef获取电话号码,这将给出一个人的所有电话号码.
| 归档时间: |
|
| 查看次数: |
4232 次 |
| 最近记录: |