gpt4 book ai didi

ios - 如果有链接的联系人,则无法从 Person ViewController 获取正确的数据

转载 作者:行者123 更新时间:2023-11-29 12:25:39 25 4
gpt4 key购买 nike

我与链接的联系人有联系。所以当我用 ABPersonViewController 显示这个联系人时,它有原始电子邮件和来自链接联系人的电子邮件。 enter image description here

当我选择链接的电子邮件 (John-appleseed@mac.com) 时,委托(delegate)方法调用:

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
//get selected phone number
ABMultiValueRef multi = ABRecordCopyValue(person, property);
CFIndex index = ABMultiValueGetIndexForIdentifier(multi, identifier);
NSString *selectedContactData = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(multi, index);

return NO;
}

但在 selectedContactData 中,我收到的不是选定的电子邮件,而是第一封。我只对组合联系人有这个问题。

是否有一种正确的方法可以从已连接联系人的联系人中选择电子邮件?

最佳答案

我能想象您描述的行为的唯一方法是,您可能在首次填充 displayedPerson 属性时在某些属性或 ivar 中引用 ABRecordRef ABPersonViewController。显然,在此代码片段中,您正确地使用了传递给此委托(delegate)方法的 person 属性,但也许您在与我们分享时简化了代码片段?当我在打开 shouldShowLinkedPeople 的情况下使用您的代码片段时,对于链接联系人的属性,它对我来说工作正常。

如果您确定使用错误的 ABRecordRef 变量没有问题,我能想到的唯一其他可能性是我在使用提供的默认联系人时遇到了奇怪的行为在模拟器上。我可能建议在具有真实链接联系人的实际设备上尝试此操作。

关于ios - 如果有链接的联系人,则无法从 Person ViewController 获取正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29237680/

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