0

Array/NSDictionaryに保存したいのですNSUserDefaultsが、何をしようとしてもうまくいきません。これが私のコードです。これを行う方法を知っていれば、助けてください。

NSArray *oneArray = [NSArray arrayWithObjects:@"Radio One",nil];
NSDictionary *one = [NSDictionary dictionaryWithObject:oneArray forKey:@"Stations"];

NSArray *oneLinkArray = [NSArray arrayWithObjects:@"http://mobile.com:28000/",nil];
NSDictionary *oneLink = [NSDictionary dictionaryWithObject:oneLinkArray forKey:@"Stations"];

[data addObject:one];
[link addObject:oneLink];

これが必要な理由は、このステーションをお気に入りに入れるためです。NSUserDefaultsしたがって、私の考えは、これらの情報をお気に入りテーブル に保存して取得することです。

ありがとう、そしてどんな提案も歓迎され、感謝されます。

4

2 に答える 2

0

通常、オブジェクトを NSUserDefaults に追加すると、次のようになります。

NSMutableDictionary *dictionaryToAdd = [[NSMutableDictionary alloc] init];
[dictionaryToAdd setObject:@"xyz" forKey:@"myKey"];

NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[myDefaults setObject:dictionaryToAdd forKey:@"someKey"];

[myDefaults synchronize];

ただし、上記のコードにはいくつかの点があります-「データ」と「リンク」に何かを追加していますが、コードにそれらが表示されないため、これらの配列がどこかに存在すると想定しています。

要約すると、NSUserDefaults オブジェクトを宣言し、NSDictionary のようにオブジェクトを設定し、同期してデータを保存します。

要求された追加コード:

//You have an array named arrayToAdd that has already been created
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[myDefaults setObject:arrayToAdd forKey:@"SomeKeyThatYouMakeUp"];
[myDefaults synchronize];

//You want to get the array out of NSUserDefaults
NSArray *mySavedArray;
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
mySavedArray = [myDefaults objectForKey:@"SomeKeyThatYouMakeUp"];
于 2012-10-12T04:54:35.467 に答える
0

すべてを辞書に保存するときに、このようなものを使用できます

  [[NSUserDefaults standardUserDefaults] setObject:link forKey:@"dictionary1"];  

または、すべてを配列に入れて、このように保存することもできます

  [[NSUserDefaults standardUserDefaults] setObject:data forKey:@"array1"];

を使用して再度アクセスできます。

    NSDictionary * myDictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictionary1"];
于 2012-10-11T22:33:42.780 に答える