繁体   English   中英

iOS的通讯录:字符串中的联系人姓名

[英]Address Book iOS : Contact name from string

我正在尝试从我的应用程序将联系人自动添加到iOS通讯簿,其中联系人的名称来自NSString。 我试图弄清楚(请参见下面的代码),但是没有用。 它可以使用我提供的第一个代码添加联系人(我有保存代码和东西),但是我想从可能不同的字符串中添加联系人,而不仅仅是一个不能添加的名称。

ABRecordRef newPerson = ABPersonCreate();
ABRecordSetValue(newPerson, kABPersonFirstNameProperty,@"Davis11", &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"Scott", &error);

我也尝试过此代码,但没有运气:

ABRecordRef newPerson = ABPersonCreate();
ABRecordSetValue(newPerson, kABPersonFirstNameProperty,fName, &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, lName, &error);

您在做什么很好,但是您忘记了调用ABAddressBookAddRecordABAddressBookSave 除非您这样做,否则什么都不会发生。 您所拥有的是一个随处可见的人。 你必须那人到地址簿中,如果你希望它地址簿的一部分。

另外,请记住要进行内存管理。 这是一个完整的示例(但是示例中省略了错误检查!在现实生活中不要这样做):

CFErrorRef err = nil;
ABAddressBookRef adbk = ABAddressBookCreateWithOptions(nil, &err);
ABRecordRef snidely = ABPersonCreate();
ABRecordSetValue(snidely, kABPersonFirstNameProperty, @"Snidely", nil);
ABRecordSetValue(snidely, kABPersonLastNameProperty, @"Whiplash", nil);
ABAddressBookAddRecord(adbk, snidely, nil);
ABAddressBookSave(adbk, nil);
if (snidely) CFRelease(snidely);
if (adbk) CFRelease(adbk);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM