【发布时间】:2011-05-20 11:28:50
【问题描述】:
我想创建一个 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];
}
}
编译器显示以下警告: 警告:传递 'addObject:' 的参数 1 会丢弃来自指针目标类型的限定符 我在网上搜索,发现我必须将 ABRecordRef 转换为 ABRecord* 才能存储在 NSMutableArray 中。
[bContacts addObject:(ABRecord*) ref];
但似乎 ABRecord 不是 iOS 框架的一部分。现在我如何将 ABRecordRef 存储到 NSMutableArray?
【问题讨论】:
标签: iphone objective-c xcode nsmutablearray addressbook