2012-05-09 2 views
1

내 IOS 응용 프로그램에서 내 응용 프로그램에 대한 고유 식별자를 기록하기 위해 추가하는 자신의 연락처 양식을 만들었습니다. 주소록에서 SQL "update"문으로 연락처를 업데이트하려고합니다.IOS 주소록 업데이트 연락처 또는 병합 레코드

iOS에서는 ABAddressBookAddRecord 및 ABAddressBookRemoveRecord 메소드 만 참조하십시오. UpdateContact는 어떻게합니까?

답변

1

우리는 사용자가 새 연락처를 추가할지 새 데이터를 기존 정보에 병합할지 결정할 수 있습니다. 우리는 그런 식으로했다 :

ABUnknownPersonViewController *view = [[ABUnknownPersonViewController alloc] init]; 
view.unknownPersonViewDelegate = self; 
view.displayedPerson = <YOUR-ABRecordRef-HERE>; 
view.allowsAddingToAddressBook = YES; 
view.allowsActions = YES; 
[self.navigationController pushViewController:view animated:YES]; 

는 사용자가 다음 하나의보기에서 레코드 (당신의 "새로운"데이터)를보고 가져 오거나 기존 연락처에 병합 버튼이 있습니다 (당신이 navigationViewController를 사용하는 가정).

+0

navigationViewController를 사용하고 있지 않습니다. 주소록을 통해 수동으로 추가 된 필드를 잃어 버리지 않고 전화 연락처를 서버 연락처와 동기화하려고합니다. 델리게이트없이 ABMultiValueIdentifier obj를 검색하는 것이 가능한지 알고 있습니까? –

+0

지금까지 어떤 시도를 했습니까? ABMultiValueGetCount'와 ABMultiValueGetIdentifierAtIndex를 사용할 수 있습니다. 이들은 http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABMultiValueRef_iPhoneOS/Reference/reference.html에 설명되어 있습니다. – Michael

+0

마지막으로 저는 ABMultiValueGetCount 메서드를 사용하여 multiValue의 모든 값을 반복하고 내 객체 레이블을 레이블 상수와 비교했습니다. 이 방법은 일을했지만 조금 비싸다고 생각합니다. 고맙습니다. –

관련 문제