iOS应用程序5种常见的存储方式

XML 属性列表(plist)归档;


//存储

  // 获取应用沙盒路径

    NSString *homePath = NSHomeDirectory();

    NSLog(@"%@",homePath);

// 获取Caches文件夹路径

    // directory:搜索文件夹

    // domainMask:在哪个范围内搜索 NSUserDomainMask:在用户中查找

    // expandTilde: YES :在路径展开 NO:不展开路径 ~:代替沙盒路径

    NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

//    NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

    

    // 拼接文件名

    NSString *filePath = [cachesPath stringByAppendingPathComponent:@"arr.plist"];

    

    

    [arr writeToFile:filePath atomically:YES];


//读取

NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

    

    // 拼接文件名

    NSString *filePath = [cachesPath stringByAppendingPathComponent:@"arr.plist"];

    

    // 读取:以什么形式存储就以什么形式读取

    NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];

    

    NSLog(@"%@",arr);





Preference(偏好设置)


//存储

 // 偏好设置存储 NSUserDefaults

    

    // 什么时候使用偏好设置存储

    // 偏好设置好处,1.快速进行键值对的存储 2.不关系文件名

    

   //  获取NSUserDefaults单例对象

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    

    // @"123" @"num"

    [defaults setObject:@"123" forKey:@"num"];

    // bool,int YES isOn

    [defaults setBool:YES forKey:@"isOn"];



//读取

 NSString *num = [[NSUserDefaults standardUserDefaults] objectForKey:@"num"];

   BOOL ison =  [[NSUserDefaults standardUserDefaults] boolForKey:@"isOn"];

    NSLog(@"======>%@",num);

    NSLog(@"isOn value: %@" ,ison?@"YES":@"NO");




NSKeyedArchiver(归档)(NSCoding)


SQLite3


Core Data



应用沙盒

每个iOS都有自己的应用沙盒(应用沙盒就是文件系统目录),与其它文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。



documents:保存应用运行时声称的需要持久话的数据,itunes同步设备时会备份该目录,例如,游戏应用可讲游戏存档保存在该目录,平常不会把文件保存到此文件夹。


tmp:保存应用运行时所需的临时数据,使用完毕后再将响应的文件从该目录删除。应用程序没有运行时,系统也可能会清楚该目录下的文件。itunes同步设备时不会被分该目录。



library/Caches 保存应用运行时声称的需要持久话的数据,itunes同步设备时不会被分该目录。一般存储体积大,不需要被分的非重要数据


library/Preference:保存应用的所有偏好设置,iOS settings(设置)应用会在该目录中查找应用的设置信息,itunes同步设备时会备份该目录


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值