如何存储数据以供将来在iOS应用中使用

时间:2014-07-28 11:40:42

标签: ios objective-c web-services caching

我想将从Web服务获取的数据存储在标签中。我怎样才能做到这一点?我用过:

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];   

但是,它没有得到更新的价值。

1 个答案:

答案 0 :(得分:1)

您可以在NSUserDefaults中保存少量数据,如下所示:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *firstName = "Bob";
[defaults setObject:firstName forKey:@"firstName"];

[defaults synchronize];

并像这样检索它:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *firstName = [defaults stringForKey:@"firstName"];

详细了解NSUserDefaults here

如果您不使用NSUserDefaults,您还可以使用如下属性列表:

NSArray *fruits = @[@"Apple", @"Mango", @"Pineapple", @"Plum", @"Apricot"];

NSString *filePathFruits = [documents stringByAppendingPathComponent:@"fruits.plist"];
[fruits writeToFile:filePathFruits atomically:YES];

NSDictionary *miscDictionary = @{@"anArray" : fruits, @"aNumber" : @12345, @"aBoolean" : @YES};

NSString *filePathDictionary = [documents stringByAppendingPathComponent:@"misc-dictionary.plist"];
[miscDictionary writeToFile:filePathDictionary atomically:YES];

NSArray *loadedFruits = [NSArray arrayWithContentsOfFile: filePathFruits];
NSLog(@"Fruits Array > %@", loadedFruits);

NSDictionary *loadedMiscDictionary = [NSDictionary dictionaryWithContentsOfFile: filePathDictionary];
NSLog(@"Misc Dictionary > %@", loadedMiscDictionary);

请参阅this文章,了解有关在iOS中持久存储数据的不同方法的更多信息。

相关问题