我正在尝试创建一个应用程序,并且我正在从net接收一些内容并加载到数组中,如果我退出并再次运行应用程序,我将丢失数据。如何将数据存储在应用程序本身中。我应该使用某种数据库吗?如果是这样,我该如何实现呢?我只需要存储一些字符串变量。
修改 我的应用程序是基于tabbar的应用程序,并有两个选项卡。将阵列加载到一个选项卡中,并将该阵列加载到另一个VC中的表中。一旦我加载数组并移动到第二个选项卡,表格就会加载数组。如果我返回并添加更多值,然后如果我检查,添加的数据不会显示在表中。而且,当我退出应用程序时,表会丢失所有值,我需要保留表中的值,即使在我退出应用程序之后。我怎样才能做到这一点? 这是我的代码: 在viewdidload中:
NSUserDefaults *simplePlistDb = [NSUserDefaults standardUserDefaults];
[simplePlistDb setBool:YES forKey:@"isItWorking"];
[simplePlistDb setObject:alertList forKey:@"myArray"];
[simplePlistDb synchronize];
in cellforrowatindexpath: -
NSUserDefaults *simplePlistDb = [NSUserDefaults standardUserDefaults];
BOOL flag = [simplePlistDb boolForKey:@"isItWorking"];
if (flag)
{
NSArray *myArray = [simplePlistDb objectForKey:@"myArray"];
for (NSString *str in myArray){
NSLog(@"Str:%@", str);
[loadArray addObject:str];
}
cell.textLabel.text = [loadArray objectAtIndex:indexPath.row];
}
谢谢。
答案 0 :(得分:2)
如果要将大量数据保存到iPhone,您需要查看Core Data。但是,如果没有,您只需将数组中的项目加载到plist中,然后在启动时从那里加载它们。
Plist写作:How to create a new custom property list in iPhone Applications
CoreData:http://www.raywenderlich.com/934/core-data-tutorial-getting-started
编辑--->
正如Nekto所说,你也可以使用NSUserDefaults,但我建议主要使用NSUserDefaults来处理简单的NSStrings和整数。
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以使用NSUserDefaults存储数据,直到您的应用安装到设备中。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"yourObject1" forKey:@"correspopndingKey1"];
[defaults setObject:@"yourObject2" forKey:@"correspopndingKey2"];
[defaults synchronize];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *temp1 = [defaults objectForKey:@"correspopndingKey1"];
NSString *temp2 = [defaults objectForKey:@"correspopndingKey2"];
您可以以类似的方式存储NSArray。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:objArray forKey:@"correspopndingKey"];
[defaults synchronize];