ios 几种数据存储方式
来源:互联网 发布:光猫端口被关闭 编辑:程序博客网 时间:2024/05/22 02:05
<span style="font-size:18px;">#import "ViewController.h"#import "Person.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];}/** * 沙盒 */- (void)test{ // 获取Caches路径 NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; //stringByAppendingPathComponent不需要添加 / NSString *filePath = [docPath stringByAppendingPathComponent:@"Data"]; NSFileManager *manager = [NSFileManager defaultManager]; if (![manager fileExistsAtPath:filePath]) { // 创建文件夹(此处是Data 文件夹) [manager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil]; } // 在Data文件夹下创建test.plist文件 NSString *dataPath = [filePath stringByAppendingString:@"/test.plist"]; NSArray *arr = @[@"1",@"2"]; [arr writeToFile:dataPath atomically:YES]; NSLog(@"%@",dataPath); // 遍历子文件// NSArray *files = [manager subpathsOfDirectoryAtPath:filePath error:nil];// NSLog(@"%@",files); // if ([manager fileExistsAtPath:filePath]) {// [manager removeItemAtPath:filePath error:nil]; // 删除该目录下的文件夹// } // 一般在下载图片或者文件时用的比较多}/** * NSUserDefaults 一种轻量级的永久存储方式 NSUserDefaults支持的数据类型:NSNumber(NSInter,float,double),NSString,NSDate,NSArray,NSDictionary,BOOL 对于相同的key赋值,相当于一次覆盖,必须保证每一个key的唯一性 NSUserDefaults存储的对象全是不可变的(这一点非常关键,否则程序会崩溃的) */- (void)test1{ // 这种方式的存储路径在 Library/Preferences就是偏好设置目录下 NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; [user setObject:@"likelin" forKey:@"name"]; // 如果存储可变对象怎么办?我们可以先将可变变成不可变对象 NSMutableArray *mutableArr = [NSMutableArray arrayWithObjects:@"jone",@"andy",@"blus", nil]; NSArray *array = [mutableArr copy]; [user setObject:array forKey:@"names"]; // 常见用处是一般在app 上登陆界面的记住密码,和自动登陆时用的比较多}/** * 归档和反归档 */- (void)test2{ NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *filePath = [path stringByAppendingPathComponent:@"person.data"]; Person *p = [[Person alloc] init]; p.name = @"likelin"; p.age = 26; p.height = 175; NSLog(@"%@",filePath); // 将person对象存储到person.data文件中 [NSKeyedArchiver archiveRootObject:p toFile:filePath]; // 从filePath中取出person对象存储的数据 Person *per = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; NSLog(@"%@-----%d-----%f",per.name,per.age,per.height);}@end</span>
0 0
- ios 几种数据存储方式
- iOS中的几种数据存储方式
- iOS几种数据存储方式
- 几种数据存储方式
- iOS--常见的几种数据存储方式
- iOS中几种数据永久存储方式
- iOS中的几种数据存储方式(plist存储、偏好设置存储、归档存储)
- IOS开发数据存储篇—IOS中的几种数据存储方式
- android中的几种数据存储方式
- Android的几种数据存储方式
- Android 的几种数据存储方式
- Android几种数据存储的方式
- android中几种数据存储方式
- Android几种数据存储方式
- android的几种数据存储方式
- ios中的四种数据存储方式
- ios中的四种数据存储方式
- iOS 常用四种数据存储方式
- 浅谈五大Python Web框架
- 流水账
- 算法--进制转换
- MySQL性能测试--分区和分表测试
- centos+nginx安装配置及常见错误处理
- ios 几种数据存储方式
- Android 数据库简单操作
- SharedPrefernces使用实例讲解
- ThreadLocal
- epoll原理与使用
- mxnet深度学习实战:跑自己的数据实验和一些问题总结
- 给 Android 开发者的 RxJava 详解
- java发送http的get、post请求
- appStore 申请加急审核地址