gpt4 book ai didi

iphone - 从通讯录中获取记录时,应用程序崩溃

转载 作者:行者123 更新时间:2023-12-01 18:25:59 25 4
gpt4 key购买 nike

我需要从地址簿中获取记录。我正在使用ABPeoplePickerNavigationController来做到这一点。在获取记录时,我将检查条件以检查记录是否存在。
例如要检查是否有名字,我正在使用以下代码

NSString *fname;
CFTypeRef fnameProperty = ABRecordCopyValue(person, kABPersonFirstNameProperty);
if (ABRecordCopyValue(person, kABPersonFirstNameProperty)) {
fname = (__bridge NSString*)fnameProperty;
}
else{
fname = @"";
}

该代码非常适合kABPersonFirstNameProperty。

但是当我使用以下代码检查电子邮件属性时
ABMultiValueRef emailProperty = ABRecordCopyValue(person, kABPersonEmailProperty);
NSLog(@"%@",emailProperty);
NSString *email;
if (ABRecordCopyValue(person, kABPersonEmailProperty)) {
email = (__bridge NSString*)ABMultiValueCopyValueAtIndex(emailProperty, 0);
}
else {
email = @"";
}

如果kABPersonEmailProperty为nil,我的应用程序崩溃(没有存储该人的电子邮件属性)

有人可以解释一下为什么会这样吗?

谢谢

最佳答案

这是我的工作版本,看看是否可行。

//Email
NSString* email = nil;
ABMultiValueRef emailNum = ABRecordCopyValue(person,
kABPersonEmailProperty);
if (ABMultiValueGetCount(emailNum) > 0) {
email = (__bridge_transfer NSString*)
ABMultiValueCopyValueAtIndex(emailNum, 0);
} else {
email = @"";
}

关于iphone - 从通讯录中获取记录时,应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817829/

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