iOS开发之数据存储篇

数据持久化:所谓数据持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。

数据持久化常用方案

         1:plist文件(属性列表)

         2:preference(偏好设置)

         3:NSKeyedArchiver(归档)

         4:SQLite 3

         5:CoreData

沙盒:IOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”。

沙盒目录机构:

沙盒目录特性:

       1:“应用程序包": 这里面存放的是应用程序的源文件,包括资源文件和可执行文件。

       2:Documents: 最常用的目录,iTunes同步该应用时会同步此文件夹中的内容,适合存储重要数据。

       3:Library/Caches: iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。

       4:Library/Preferences: iTunes同步该应用时会同步此文件夹中的内容,通常保存应用的设置信息。

       5:iTunes不会同步此文件夹,系统可能在应用没运行时就删除该目录下的文件,所以此目录适合保存应用中的一些临时文件,用完就删除。

--------------------------------------------分割线-------------------------------------------------------------------

1:plist文件(属性列表)

注意:plist文件是将某些特定的类,通过XML文件的方式保存在目录中。

     可以被序列化的类型只有如下几种:

     NSArray;NSMutableArray;NSDictionary;NSMutableDictionary;NSData;NSMutableData;NSString;NSMutableString;NSNumber;NSDate;

代码:

1 /*1.获得文件路径*/
2     NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
3     NSString *fileName = [path stringByAppendingPathComponent:@"123.plist"];
1 /*2.存储*/
2     NSArray *array = @[@"123", @"456", @"789"];
3     [array writeToFile:fileName atomically:YES];
1 /*3.读取*/
2     NSArray *result = [NSArray arrayWithContentsOfFile:fileName];
3     NSLog(@"%@", result);
/*
     4.注意
     只有以上列出的类型才能使用plist文件存储。
     存储时使用writeToFile: atomically:方法。 其中atomically表示是否需要先写入一个辅助文件,再把辅助文件拷贝到目标文件地址。这是更安全的写入文件方法,一般都写YES。
     读取时使用arrayWithContentsOfFile:方法。
     */

 

posted @ 2018-01-12 02:23  hwangcheng  阅读(116)  评论(0)    收藏  举报