IOS数据存储
"IOS数据存储的方式有哪些"
1.plist
2.preference用户偏好设置
3.NSKeyedArchiver(归档)
4.sqlite
5.coredata
"plist文件存储"
1.字符串 数组 字典 可以直接存储数据在一个文件
将一个NSDictionary对象归档到一个plist属性列表中
// 将数据封装成字典
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"母鸡" forKey:@"name"];
[dict setObject:@"15013141314" forKey:@"phone"];
[dict setObject:@"27" forKey:@"age"];
// 将字典持久化到Documents/stu.plist文件中
[dict writeToFile:path atomically:YES];
2.掌握沙盒备目录的作用以及目录路径获取方式
// Document [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]
// 缓存 [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
// 临时 NSTemporaryDirectory();
// 主目录 NSHomeDirectory();
3.不是所有对象都可以保存到plist文件中,要有实现writeFile方法才可以
4.学会使用SimPholders2打开沙盒目录
"用户偏好设置"
1.ios中有个NSUserDefaults对象有可保存数据,我们称为用户偏好设置
2.通过[NSUserDefaults standardUserDefaults]可以获取用户偏好设置对象,保存字符串 布尔值 int等数据
3.保存数据时,一定要调用synchronize,因为数据要及时保存到沙盒的文件中
/* NSUserDefaults *defualts = [NSUserDefaults standardUserDefaults];
[defualts setObject:@"zhangsan" forKey:@"username"];
[defualts setObject:@"123" forKey:@"password"];
[defualts setBool:YES forKey:@"autoLogin"];
[defualts setBool:YES forKey:@"rememberPwd"];
//同步
[defualts synchronize];
*/
"NSKeyedArchiver归档"
/*什么叫归档 归档就是把数据保存到一个文件中*/
1.使用NSKeyedArchiver可以将NSArray NSDictiony NSString等对象归档到一个文件
2.只有实现了NSCoding协议的对象才可使用NSKeyedArchiver进行归档
3.将模型对象保存到一个文件时,对象要遵守NSCoding协议,并实现NSKeyedArchiver的encodeWithCoder方法,
4.从归档文件里读取对象时要实现NSCoding的initWithCoder方法
5.ios中,控制器,控件都继承NSCoding,storyboard/xib都是使用NSKeyedArchiver进行归档的
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步