gpt4 book ai didi

iphone - ABAddressBook 在 NSDictionary 中存储值

转载 作者:行者123 更新时间:2023-12-03 20:34:46 26 4
gpt4 key购买 nike

我有一个应用程序,可以在 UITableView 中显示 ABAddressBook 联系人。目前,我正在将联系人读入 NSDictionary,但是对于某些用户来说,这似乎会崩溃,我怀疑这是内存问题。

是否有另一种方法可以在 UITableView 中显示 ABAddressBook 联系人,而无需先将其存储在 NSDictionary 中或使用 ABPeoplePicker

最佳答案

使用 ARC 的不同方式:

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef addressBookData = ABAddressBookCopyArrayOfAllPeople(addressBook);

CFIndex count = CFArrayGetCount(addressBookData);

NSMutableArray *contactsArray = [NSMutableArray new];

for (CFIndex idx = 0; idx < count; idx++) {
ABRecordRef person = CFArrayGetValueAtIndex(addressBookData, idx);

NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);

if (firstName) {
NSDictionary *dict = [NSDictionary dictionaryWithObject:firstName ForKey:@"name"];
[contactsArray addObject:dict];
}

}
CFRelease(addressBook);
CFRelease(addressBookData);

关于iphone - ABAddressBook 在 NSDictionary 中存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4781211/

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