我想创建一个ABRecordRef(s)数组来存储具有有效生日字段的联系人.
NSMutableArray* bContacts = [[NSMutableArray alloc] init];
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
for( int i = 0 ; i < nPeople ; i++ )
{
ABRecordRef ref = CFArrayGetValueAtIndex(allPeople, i );
NSDate* birthdayDate = (NSDate*) ABRecordCopyValue(ref, kABPersonBirthdayProperty);
if (birthdayDate != nil){
[bContacts addObject:ref];
}
}
Run Code Online (Sandbox Code Playgroud)
编译器显示此警告: 警告:传递'addObject:'的参数1'从指针目标类型中丢弃限定符 我在Web上搜索并发现我必须将ABRecordRef强制转换为ABRecord*以便能够存储在NSMutableArray中.
[bContacts addObject:(ABRecord*) ref];
Run Code Online (Sandbox Code Playgroud)
但似乎ABRecord不是iOS框架的一部分.现在我如何将ABRecordRef存储到NSMutableArray?