2011-04-20 68 views
1

問候,iPhone - 檢查組名稱地址簿中已經存在

我在做,以便聯繫人可以在組創建一個地址簿應用程序。我已經能夠創建組。但每次我開始應用程序組重複。

我是如何檢查組是否已經存在的。 我曾用ABAddressBookCopyArrayOfAllGroups但還沒有成功地從陣列retrievin組的名稱,而printting的數組的NSLog我得到一個

+0

我想組名稱都不如人的名字獨一無二是的,但是你可以在我們使用personid的時候使用groupid。 – Ravin 2011-04-20 12:46:42

回答

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; 

}