gpt4 book ai didi

ios - ABPeoplePickerNavigationControllerDelegate 中的 ABMultiValueIdentifier 设置不正确,一个 iOS 错误?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:15:55 24 4
gpt4 key购买 nike

我在实现 ABPeoplePickerNavigationControllerDelegate 时遇到了这个奇怪的问题。因此标识符有时在委托(delegate)方法中错误地获取了它的值

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier;

例如,当我从联系人中选择第一个号码时,标识符应该是 0。但有时它是 1(即使该联系人只有 1 个号码)!!

很容易验证,

...
ABMultiValueRef phoneProperty = ABRecordCopyValue(person,property);
int count = ABMultiValueGetCount(phoneProperty);
NSLog(@"How many numbers do I have %d and which number do I choose %d",count,identifier);

它有时会打印出来

How many numbers do I have 1 and which number do I choose 1

有没有人遇到同样的问题?

更新:有时标识符甚至比计数还大。怎么会!!

How many numbers do I have 2 and which number do I choose 3

最佳答案

刚弄清楚原因,为自己感到尴尬。

所以 ABMultiValueIdentifier 不同于索引,在我得到标识符后我需要使用 ABMultiValueGetIndexForIdentifier 来获取索引。然后使用该索引调用 ABMultiValueCopyValueAtIndex。

顺便说一句,AdressBook Crash, only with some contacts! 也有同样的问题

关于ios - ABPeoplePickerNavigationControllerDelegate 中的 ABMultiValueIdentifier 设置不正确,一个 iOS 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10309164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com