繁体   English   中英

NSDictionary中的数组:如何保存到NSUserDefaults

[英]Array within a NSDictionary: how to save to the NSUserDefaults

我想将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并在“收藏夹”表中检索。

谢谢,欢迎提出任何建议。

当您将所有内容存储到字典中时,可以使用类似的方法

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

或者,您可以将所有内容放入数组并像这样存储它

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

您可以使用再次访问它

    NSDictionary * myDictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictionary1"];

通常,将对象添加到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"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM