当我们知道和地址簿时,如何获取地址簿的索引ABRecordRef
?
我在用:
ABRecordRef ref= CFArrayGetValueAtIndex(AddressBookPeople, index);
获取给定索引处的记录引用。
ABRecordRef
同样,当值已知时,如何获取记录的索引?
当我们知道和地址簿时,如何获取地址簿的索引ABRecordRef
?
我在用:
ABRecordRef ref= CFArrayGetValueAtIndex(AddressBookPeople, index);
获取给定索引处的记录引用。
ABRecordRef
同样,当值已知时,如何获取记录的索引?
NSArray
有一个方法:
- (NSUInteger)indexOfObject:(id)anObject
返回其对应数组值等于给定对象的最低索引。
CFArray
与免费桥接NSArray
。所以我认为这应该有效,
int index = [(NSArray *)AddressBookPeople indexOfObject:ref];
编辑:::
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
ABRecordRef ref= CFArrayGetValueAtIndex(people, 4);
NSUInteger i = [(__bridge NSArray *)people indexOfObject:(__bridge id)(ref)];
这让我返回了正确的索引。
您还可以更正确地使用:
CFArrayGetFirstIndexOfValue