iPhone 주소 책 연락처의 이메일을 NSStrings로 얻는 방법은 무엇입니까?
-
10-07-2019 - |
문제
이메일에는 여러 값이있을 수 있지만 이메일을 탐색하는 방법을 잘 모르겠습니다.
사람을 올바르게 얻을 수 있습니다.
ABRecordRef person = // getting a person;
NSString* emails = (NSString *)ABRecordCopyValue(person, kABPersonEmailProperty);
... 무엇 향후 계획? 내가 인쇄하려고한다면 emails
내가 얻는 변수 :
Emails: <NSCFType: 0x4018d40>
해결책
이메일은 문자열이 아니라 배열이어야하기 때문입니다. 사람들은 많은 이메일을 가질 수 있습니다!
ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
CFStringRef email = ABMultiValueCopyValueAtIndex(emails, <INDEX>);
NSLog( (NSString *) email);
여기 다중 행사와 함께 할 수있는 일에 대한 문서입니다.
다른 팁
이 항목의 유형은 an입니다 ABMultiValue
(특히이 필드의 유형은 kABMultiStringProperty
). 보다 "Multivalue 목록 사용" 이것을 읽는 방법. 참조 주소록 대상 C 상수 참조 각 속성이 반환하는 것에 대해.
또한 AB 기능은 규칙을 만듭니다. "copy"라는 단어가있는 함수에서 얻은 객체를 공개 할 책임이 있습니다.
iOS 9에서는 ABFRAMEWORK가 새로운 것을 위해 더 이상 사용되지 않았습니다. 연락처 프레임 워크:
CNContact의 모든 이메일 주소를 기록하는 예를 보여줍니다.
CNContact * yourContact = //...
for (CNLabeledValue* emailLabeledValue in yourContact.emailAddresses){
NSLog(@"%@",[emailLabeledValue value]);
}
제휴하지 않습니다 StackOverflow