当我们知道ABRecordRef和地址簿时,如何获得地址簿的索引?
我正在使用:
ABRecordRef ref= CFArrayGetValueAtIndex(AddressBookPeople, index);获取给定索引处的记录引用。
类似地,当ABRecordRef值已知时,如何获得记录的索引?
发布于 2013-09-10 18:53:58
NSArray有一个方法:
- (NSUInteger)indexOfObject:(id)anObject 它返回其对应的数组值等于给定对象的最低索引。
使用NSArray桥接的CFArray是免费的。所以我想这应该行得通,
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)];这给我返回了正确的索引。
发布于 2013-09-10 19:31:33
您还可以更恰当地使用:
CFArrayGetFirstIndexOfValuehttps://stackoverflow.com/questions/18716631
复制相似问题