当我们知道ABRecordRef
和地址簿时,如何获取地址簿的索引?
我正在使用:
ABRecordRef ref= CFArrayGetValueAtIndex(AddressBookPeople, index);
获取给定索引的记录引用。
同样,如何知道ABRecordRef
值后的记录索引?
答案 0 :(得分:0)
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)];
这给了我正确的索引。
答案 1 :(得分:0)
您还可以更正确地使用:
CFArrayGetFirstIndexOfValue