2010-03-25 4 views
0

기본 주소록 응용 프로그램 인 Apple QuickStart 응용 프로그램과 클릭 한 전화 번호에 관계없이 첫 번째 전화 번호를 반환하는 튜토리얼 온라인을 발견했습니다. 선택한 전화 번호 만 라벨에 표시하고 싶습니다. 내가 레이블은 사용자가 선택한 일뿐 아니라 첫 번째 배열 항목 (또는 다른 배열 엔트리 내가 코드)iPhone 주소록에서 선택한 전화 번호로 돌아 가기

감사

있는지 확인하려면 어떻게

- (BOOL)peoplePickerNavigationController: 

(ABPeoplePickerNavigationController *)peoplePicker 

    shouldContinueAfterSelectingPerson:(ABRecordRef)person 

          property:(ABPropertyID)property 

          identifier:(ABMultiValueIdentifier)identifier{ 


ABMutableMultiValueRef phoneMulti = ABRecordCopyValue(person, kABPersonPhoneProperty); 
NSMutableArray *phones = [[NSMutableArray alloc] init]; 
int i; 
for (i = 0; i < ABMultiValueGetCount(phoneMulti); i++) { 
NSString *aPhone = [(NSString*)ABMultiValueCopyValueAtIndex(phoneMulti, i)autorelease]; 

    [phones addObject:aPhone]; 
} 

NSString *mobileNo = [phones objectAtIndex:0]; 
self.phoneNumber.text = phones; 

[self dismissModalViewControllerAnimated:YES]; 

return NO; 

} 

: 라벨은 PHONENUMBER라고

- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier { 
     // ensure user picked a phone property 
     if (property == kABPersonPhoneProperty) { 
      ABMultiValueRef phone = ABRecordCopyValue(person, property); 
      CFStringRef selectedNumber = ABMultiValueCopyLabelAtIndex(phone, identifier); 
      CFStringRef selectedLabel = ABMultiValueCopyValueAtIndex(phone, identifier); 
      // insert code to do something with the values above 
      [self dismissModalViewControllerAnimated:YES]; 
      return NO; } // end if 
     else { 
      // display an alert or something - handle the error 
} } // end else, end method 

을 내가 더 해요 :

답변

2

나는 당신의 질문을 이해하지만, 당신이 전화 번호를 얻을 수 및/또는 사용자 실제로 선택 레이블을하려는 경우, 당신은이를 사용할 수 없습니다 모르겠어요 코드 스 니펫 (snippet)을 따르지 않아도됩니다. 원하는 모든 것이 사용자가 선택한 선택 사항이라면 배열을 사용 중인지 확실하지 않습니다.

+0

감사합니다. – Ali

+0

이 답변을 시도하고 "모바일", "직장"및 "집"으로 표시된 전화 번호를 선택할 수 있습니다. 하지만 "iPhone"을 선택하면 내 앱이 다운됩니다. 이 [게시물] (http://stackoverflow.com/a/12006985/1479411)이 문제를 해결했습니다. 이것이 나와 같은 문제가있는 누군가를 도울 수 있기를 바랍니다. – Rick