1
연락처가 이미 추가되었는지 여부를 iphone 전화 번호부에서 확인하고 싶으면 추가 한 다음 추가하지 않으면 새로운 연락처를 추가합니다. ,,,, 그냥 비교하고 싶습니다. 예 : "비어"같은 이름이 전화 번호부에 존재 여부를연락처가 이미 iphone 전화 번호부에 추가되었는지 확인하는 방법은 무엇입니까?
연락처가 이미 추가되었는지 여부를 iphone 전화 번호부에서 확인하고 싶으면 추가 한 다음 추가하지 않으면 새로운 연락처를 추가합니다. ,,,, 그냥 비교하고 싶습니다. 예 : "비어"같은 이름이 전화 번호부에 존재 여부를연락처가 이미 iphone 전화 번호부에 추가되었는지 확인하는 방법은 무엇입니까?
+ (NSArray *) findContactsContainingName: (NSString *) fname
{
// Load the contacts
ABAddressBookRef addressBook = CFAutorelease(ABAddressBookCreate());
NSArray *thePeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
NSMutableArray *contacts = [NSMutableArray arrayWithCapacity:thePeople.count];
for (id person in thePeople)
[array addObject:[ABContact contactWithRecord:(ABRecordRef)person]];
[thePeople release];
// search the contacts for fname
NSPredicate *pred;
pred = [NSPredicate predicateWithFormat:@"firstname contains[cd] %@ OR lastname contains[cd] %@ OR nickname contains[cd] %@ OR middlename contains[cd] %@", fname, fname, fname, fname];
return [contacts filteredArrayUsingPredicate:pred];
}
ABAddressBookRef addressbook = ABAddressBookCreateWithOptions(Nil, Nil);
NSArray *people = (__bridge NSArray*)ABAddressBookCopyArrayOfAllPeople(addressbook);
NSMutableArray *namearray=[[NSMutableArray alloc] init];
for(id person in people){
NSString *firstNameString = (__bridge NSString*)ABRecordCopyValue((__bridge ABRecordRef)(person),kABPersonFirstNameProperty);
NSLog(@"%@",firstNameString);
[namearray addObject:firstNameString];
}
NSLog(@"%@",namearray);
NSString *yourString = name you want to add;
BOOL identicalStringFound = NO;
for (NSString *someString in namearray) {
if ([someString isEqual:yourString]) {
identicalStringFound = YES;
break;
}
}
if(identicalStringFound)
{
//code you want to perform
}
else
{
//code you want to perform
}
엑스 코드 7.3에서 오류를 보여주는 ABAddressBookRef .. 뭐든지 가져? –