2011-10-27 11 views
0

こんにちは。IPhoneのNSUserDefaultに値を保存しておきます。

私はNSUserDefaultを使用しています。コードを保存するための値を保存して検索するには、

dataDict_=[[NSMutableDictionary alloc]init]; 
    [dataDict_ setObject:[nameText_ text] forKey:@"Name"]; 
    [dataDict_ setObject:[linkText_ text] forKey:@"Link"]; 
    NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults]; 
    [userDefault setObject:dataDict_ forKey:@"Dict"]; 
    [[NSUserDefaults standardUserDefaults]synchronize]; 
    [dataDict_ release]; 

とコードをretrivingするため

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    NSMutableDictionary *favourites = [[standardUserDefaults objectForKey:@"Dict"] mutableCopy]; 

さて問題は、このコードの助けを借りている私は、1時間分のデータを保存し、retriveすることができていますされ、私はその時点で再び保存した場合、私の新しいです値は最後の値と重複しています。

他のページの値をNSUserDefaultに保存し、他のページを検索して配列を追加し、テーブルに表示する必要があります。

NSUserDefaultに10個の名前を1つずつ追加して、userdefaultから取得して表示したいと考えています。

しかし、このコードの助けを借りれば、私は新しいデータだけを取り戻すことができ、最後のデータは新しいデータに重複する可能性があります。

解決方法を教えてください。

NSLog(@"The dict value is %@",favourites); 
+0

あなたのコードで異なるキーを使用する必要があります: '[userDefault setObjct:dataDict_ forKey:@" Dict "]'ユーザーのデフォルトで異なる辞書を同時に保存する場合。 – Denis

答えて

1

代わりの一つの値を格納し、配列保存:ユーザデフォルトのバックアウトすべての詳細を取得するには、今

// Create a data dictionary for this name & link 
dataDict_=[[NSMutableDictionary alloc]init]; 
[dataDict_ setObject:[nameText_ text] forKey:@"Name"]; 
[dataDict_ setObject:[linkText_ text] forKey:@"Link"]; 

// Get the current array from user defaults 
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; 
NSMutableArray *favourites = [[userDefault objectForKey:@"favourites"] mutableCopy]; 
if (nil == favourites) favourites = [[NSMutableArray alloc] init]; 

// Add the new details to it 
[favourites addObject:dataDict]; 

// Store the array in the user defaults 
[userDefault setObject:favourites forKey:@"favourites"]; 
[userDefault synchronize]; 

// Release 
[favourites release]; 
[dataDict release]; 

を、あなたの代わりに詳細

の1セットの配列を取得
NSArray *favourites = [[NSUserDefaults standardUserDefaults] objectForKey:@"favourites"]; 
関連する問題