2011-10-14 2 views
0

내 주소록의 모든 번호를 동일하게 변경하려고하고 있습니다. 0으로 시작하는 모든 번호에 국가 코드 (+46)를 추가하고 싶습니다. 이것에 대한 응용 프로그램을 만든다. 문제는 최선의 방법으로이를 수행하는 방법입니다.주소록/연락처의 모든 번호 변경

일반적인 방법은 사람 선택 도구 인 것 같습니다 : http://developer.apple.com/library/ios/#documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/UI_Controllers.html#//apple_ref/doc/uid/TP40007744-CH5-SW4 -하지만 이는 사용자가 변경하려는 연락처를 선택해야한다는 것을 의미합니다.이 작업은 복잡하게 수행해야합니다.

주소록의 모든 번호를 반복하여 변경 한 다음 다시 넣는 방법이 있습니까?

미리 감사드립니다. Tobias Tovedal.

+0

심각하게 사람들은 자신이 맡은 일을 싫어하기 때문에 투표를하지 마십시오 ... 우리 모두는 자신의 프로젝트와 업무를 수행합니다. – eric

답변

6

예, 모든 레코드를 반복 할 수 있으며 주소록에서 레코드를 편집 할 수 있습니다. 당신은 기록을 할 수 있습니다

 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); 

:

 NSArray *array= (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); 

에 따라 사람의 recordID와에 기초하여 주소록에서 특정 레코드를 편집 할 수있는 코드입니다 : 예입니다 다음은 주소록에서 모든 기록을 얻을 수 있습니다 전화 번호의 값을 변경하거나 하나씩 레코드를 통해 트래버스합니다. 한 사람이 여러 전화 번호를 가질 수 있으므로 사람의 전화 번호를 가져 가면서주의를 기울여야하므로 ABMultiValueRef를 사용하여 사람의 모든 전화 번호를 제공하는 전화 번호를 가져와야합니다.

+0

그것이 당신을 위해 일하면 대답으로 받아들입니다 ..... – Minakshi

+0

대답 해 주셔서 감사합니다. 예, 지금 당장 그것을 작동 시키려고합니다. 나는 당신의 대답이 정확하다고 확신합니다. 결과가 돌아 오면 :) –

+0

큰 성공, 도와 줘서 고마워! –