问候,
我正在制作一个地址簿应用程序,以便可以在组下创建联系人。我已经能够创建组。但每次我启动应用程序时,该组都会重复。
我怎么能检查该组是否已经存在。 我曾经使用过ABAddressBookCopyArrayOfAllGroups,但是在打印数组的NSLog时我没有成功从该数组中检索该组的名称
答案 0 :(得分: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;
}