2011-08-08 164 views

回答

2

您可以從ABRecordRef類型的記錄中獲得recordId從 addressBook然後將其轉換爲NSString。儲存於NSUserDefaults

當你想獲取該記錄......

獲取該recordIdNSUserDefaults,將其轉換爲整數

然後用

ABRecordRef myRecord = 
ABAddressBookGetPersonWithRecordID(addressBook, recordId); 

所以,你會得到您之前保存的記錄。

1

試試這個:

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]; 

這應該是它。

+0

我能夠獲取變量的人,我需要將這個變量人存儲在nsuserdefaults或數據庫中,以便我可以檢索保存的數據並稍後處理任何記錄..請爲此指導我。 –

+0

沒錯,所以你需要將每個有關該人的信息存儲到字典或其他集合中,然後將該字典添加到NSUserDefaults。我會在上面調整我的答案。 – Dave

+0

對不起,但即使這不是很有幫助。讓我詳細介紹一下。我需要創建一個包含一些文字和其他圖像的圖像。這部分已經結束了,現在我需要將其設置爲該人員的個人資料照片,即使我能夠在同一班級中完成此操作。現在,如果有人想改變添加的文本,我需要再次更改配置文件圖片,因爲我需要傳遞ABRecordRef作爲參數。爲此,我需要存儲ABRecordRef的列表。 –