一:NSUserDefault(存放在tmp文件里,临时的,每次重新启动该文件里的数据会全部清空)
NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];
添加数据到 user defaults:
[accountDefaults setObject:nameField.text forKey:UserDefaultNameKey];
也可以添加基本数据类型int, float, bool等,有相应得方法
[accountDefaults setBool:YES forKey:UserDefaultBoolKey];
从user defaults中获取数据:
[accountDefaults objectForKey:NCUserDefaultNameKey]
[accountDefaults boolForKey: UserDefaultBoolKey];
要点: NSUserDefaults非常好用,并不需要用户在程序中设置NSUserDefaults的全局变量,需要在哪里使用NSUserDefaults的数据,那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。
针对同一个关键字对应的对象或者数据,可以对它进行重写,重写之后关键字就对应新的对象或者数据,旧的对象或者数据会被自动清理。
如果把一个自定义的类存到一个NSArray里,然后再存到NSUserDefaults里也是不能成功的。
二:Plist
//创建plist文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *plistpath = [paths objectAtIndex:0];
_jyzPlist = [plistpath stringByAppendingPathComponent:@"testPlist.plist"];
//写入内容
NSArray *plistArr = [NSArray arrayWithObjects:self.theAccountTextField.text,self.thePasswordTextField.text, nil];
[plistArr writeToFile:_jyzPlist atomically:YES];
//读取Plist
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *plistpath = [paths objectAtIndex:0];
NSString *statePlist = [plistpath stringByAppendingPathComponent:@"statePlist.plist"];
NSArray *stateArr = [NSArray arrayWithContentsOfFile:statePlist];