1
我们如何存储和访问ABRecordRef
的列表,以便我们可以在另一个课程中使用它,以后再使用?ABRecordRef存储阵列
我们如何存储和访问ABRecordRef
的列表,以便我们可以在另一个课程中使用它,以后再使用?ABRecordRef存储阵列
您可以从ABRecordRef
类型的记录中获得recordId
从 addressBook然后将其转换为NSString
。储存于NSUserDefaults
当你想获取该记录......
获取该recordId
从NSUserDefaults
,将其转换为整数
然后用
ABRecordRef myRecord =
ABAddressBookGetPersonWithRecordID(addressBook, recordId);
所以,你会得到您之前保存的记录。
试试这个:
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];
这应该是它。
我能够获取变量的人,我需要将这个变量人存储在nsuserdefaults或数据库中,以便我可以检索保存的数据并稍后处理任何记录..请为此指导我。 –
没错,所以你需要将每个有关该人的信息存储到字典或其他集合中,然后将该字典添加到NSUserDefaults。我会在上面调整我的答案。 – Dave
对不起,但即使这不是很有帮助。让我详细介绍一下。我需要创建一个包含一些文字和其他图像的图像。这部分已经结束了,现在我需要将其设置为该人员的个人资料照片,即使我能够在同一班级中完成此操作。现在,如果有人想改变添加的文本,我需要再次更改配置文件图片,因为我需要传递ABRecordRef作为参数。为此,我需要存储ABRecordRef的列表。 –