沙盒:本质上就是一个文件夹 iOS平台下针对于每一个安装的应用在本地生成的文件夹(名字随机产生) 应用之间不能互相访问对方沙盒中的内容
Documents:存放数据持久化的文件 向长久存储的数据都放在该文件夹下 但是不能放过多的内容 放的文件过多的话 上线会被拒
Library:
Library/Preference:存放用户的偏好设置 比如用户名和密码 是否第一次启动
Library/Caches:缓存文件夹 下载的视频 音频 小说 图片等
tmp:临时文件夹 存放临时文件 比如:下载的zip(压缩包)
系统生成的文件夹我们是没有删除的权限 (自己创建的文件夹可以删除)
@implementation AppDelegate
- (void)dealloc{
[_window release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//1.获取沙河文件夹的路径
NSString *homePath = NSHomeDirectory();
NSLog(@"%@", homePath);
//2.应用程序包的路径 包中含有应用程序加载时所需的所有资源(上传到AppStore的包)
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSLog(@"bundlePath%@", bundlePath);
//3.获取Documents文件夹
//第一个参数:查找的文件夹
//第二个参数:查找的范围 用户域中查找
//第三个参数:是否显示详细的路径(YES:显示详细路径)
//该方法之前是用于OS X平台的 对于OS X平台下 可以同时有多个用户 所以获取的是所有用户的文件夹路径 而iOS平台下 用户只有一个 所以获取的路径只有一个
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSLog(@"%@", documentsPath);
//4.获取沙盒中Library文件夹路径
NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];
//5获取沙盒中tmp文件夹路径
NSString *tmpPath = NSTemporaryDirectory();
NSLog(@"%@", tmpPath);
//6.获取沙盒中Library下的Caches(缓存)文件夹路径
NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
//7.获取包中资源的路径
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"资源名" ofType:@"资源类型"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];//直接操作的是Preference文件夹
[defaults setObject:@"user" forKey:@"userName"];//存储用户名
[defaults setObject:@"password" forKey:@"passwok"];//存储密码
[defaults setBool:YES forKey:@"FirstLaunch"];//存储第一次启动
[defaults synchronize];//立即同步 立即将数据写入文件
数据持久化之沙盒
最新推荐文章于 2021-02-06 09:04:57 发布