我想将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
并在收藏夹表中检索。
谢谢,欢迎任何建议受到欢迎和赞赏。
答案 0 :(得分:0)
将所有内容存储到词典中时,可以使用类似的内容
[[NSUserDefaults standardUserDefaults] setObject:link forKey:@"dictionary1"];
或者您可以将所有内容放入数组中并像这样存储
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"array1"];
您可以使用
重新访问它 NSDictionary * myDictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictionary1"];
答案 1 :(得分: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"];