background image

后两个参数也是不变的,即为:

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:

使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘
上产生任何文件,如果数据库已经存在,则会打开这个数据库。