首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ABRecordRef的存储数组

ABRecordRef的存储数组
EN

Stack Overflow用户
提问于 2011-08-08 21:01:06
回答 2查看 824关注 0票数 1

我们如何存储和访问ABRecordRef列表,以便我们可以在另一个类中使用它,并在以后使用它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-09 20:31:01

您可以从addressBook的ABRecordRef类型的记录中获取recordId,然后将其转换为NSString。将其存储在NSUserDefaults

当你想取回记录的时候...

NSUserDefaults获取recordId,将其转换为整数

然后使用

代码语言:javascript
复制
    ABRecordRef myRecord =
 ABAddressBookGetPersonWithRecordID(addressBook, recordId);

因此,您将获得之前保存的记录。

票数 2
EN

Stack Overflow用户

发布于 2011-08-08 21:08:38

试试这个:

代码语言:javascript
复制
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef person = ABRecordGetRecordID(1);  // Or whatever you're using to get the record.

// do this for each piece of information you need:
NSString *firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);

// Get your receiving dict ready:
NSMutableDictionary *personDict = [NSMutableDictionary dictionary];

// then test them for a value (don't want nil values in the dictionary)
// Add each value as you test it.
if (firstName) {
    [personDict setObject:firstName forKey:@"FistName"];
}
if (lastName) {
    [personDict setObject:lastName forKey:@"LastName"];
}

// Add the personDict to NSUserDefaults:
[[NSUserDefaults standardDefaults] setObject:personDict forKey:@"MyPersonsDictionary"];

// Clean up after yourself:
[firstName release];
[lastNmae release];

应该就是这样了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6982556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档