0

我想保存Array/NSDictionaryNSUserDefaults但我尝试的任何东西都不起作用。这是我的代码,所以如果你知道如何做到这一点,请帮助我。

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 回答