2011-04-20 4 views
1

인사말,아이폰 - 그룹 이름이 이미 주소록에 있는지 확인하십시오.

그룹으로 연락처를 만들 수 있도록 주소록 응용 프로그램을 만들고 있습니다. 나는 그 그룹을 만들 수 있었다. 하지만 매번 내가 응용 프로그램을 시작하면 그룹이 반복됩니다.

그룹이 이미 존재하는지 어떻게 확인할 수 있습니까? 나는 배열의 NSLog를 printting 동안 내가

+0

나는 그룹 이름은 사람 이름과 고유하지 않은 생각 얻을 ABAddressBookCopyArrayOfAllGroups을 사용했지만 그 배열에서 그룹의 이름을 retrievin에 성공 havent 한 그렇지만 personid를 사용할 때 groupid를 사용할 수 있습니다. – Ravin

답변

6
+ (BOOL)checkIfGroupExistInAddressBook:(NSString*)gName{ 

    BOOL gExist = NO; 
    ABAddressBookRef addressBook = ABAddressBookCreate(); 
    NSArray *groups = (NSArray *) ABAddressBookCopyArrayOfAllGroups(addressBook); 

    // Check group in existing Address book groups 
    for (id _group in groups) 
    { 
     //NSString *currentGroupName = [[[NSString alloc] init] autorelease]; 
     NSString *currentGroupName = (NSString*) ABRecordCopyValue(_group, kABGroupNameProperty); 
     //(ABRecordRef)group] 
     // If group exist return YES 
     if ([currentGroupName isEqualToString:gName]){ 
      gExist = YES; 
      CFRelease(currentGroupName); 
      break; 
     } 

     CFRelease(currentGroupName); 
    } 

    CFRelease(addressBook); 
    if (groups) {[groups release];groups = nil;} 

    // If group Dose not exist return NO; 
    return gExist; 

} 
관련 문제