后两个参数也是不变的,即为:
NSUserDomainMask 和 YES。
NSString *ourDocumentPath =[documentPaths objectAtIndex:0];
还有一种方法是使用
NSHomeDirectory 函数获得 sandbox 的路径。具体的用法为:
NSString *sandboxPath = NSHomeDirectory();
// Once you have the full sandbox path, you can create a path from it,但是不能在 sandbox 的本
文件层上写文件也不能创建目录,而应该是此基础上创建一个新的可写的目录,例如
Documents,Library 或 者 temp。
NSString *documentPath = [sandboxPath
stringByAppendingPathComponent:@"Documents"];//将 Documents 添加到 sandbox 路径上,
具体原因前面分析了!
这两者的区别就是:使用
NSSearchPathForDirectoriesInDomains 比在 NSHomeDirectory 后面
添加
Document 更加安全。因为该文件目录可能在未来发送的系统上发生改变。
第二步:生成在该路径下的文件:
NSString
*FileName=[documentDirectory
stringByAppendingPathComponent:fileName];//fileName 就是保存文件的文件名
第三步:往文件中写入数据:
[data writeToFile:FileName atomically:YES];//将 NSData 类型对
象
data 写入文件,文件名为 FileName
最后:从文件中读出数据:
NSData data=[NSData dataWithContentsOfFile:FileName options:0 error:NULL];// 从 FileName
中读取出数据
4. SQLite:采用 SQLite 数据库来存储数据。SQLite 作为一中小型数据库,应用 ios 中,跟
前三种保存方式相比,相对比较复杂一些。还是一步步来吧!
第一步:需要添加
SQLite 相关的库以及头文件:在项目文件的 Build Phases 下,找到 Link
Binary Library(ies),添加 libsqlite3.0.dylib(libsqlite3.dylib 与前者的区别暂时不知,两者应
该差不多);在项目文件中头文件或者源文件中添加头文件
#import “/usr/include/sqlite3.h”
第二步:开始使用
SQLite:
使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘
上产生任何文件,如果数据库已经存在,则会打开这个数据库。