美文网首页
iOS 数据持久化知识汇总(1)—————存储路径

iOS 数据持久化知识汇总(1)—————存储路径

作者: peterking | 来源:发表于2018-07-03 17:28 被阅读13次

一、沙盒和沙盒存储路径

1、沙盒是什么

iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所有的非代码文件都要保存在此。沙盒就是一种独立、安全、封闭的空间 ,不能随意跨越自己的沙盒去访问别的应用程序沙盒中的内容。

沙盒的四个目录:Documents、Library/Preferences 、Library/Caches 、tmp

Documents:保存用户产生的数据;

Library/Preferences: 保存偏好设置 如:NSUserDefaults

Library/Caches: 缓存数据 如 SDWebImage 中的图片

tmp: 临时数据 程序退出会删除目录

2、获取沙盒路径方法

2.0、获取沙盒的根目录

NSString *homePath = NSHomeDirectory();

2.1 获取沙盒路径下Documents 目录

方法1:拼接

NSString *homeDocumentPath = NSHomeDirectory();
NSString *documents = [homeDocumentPath stringByAppendingPathComponent:@"Documents"];

注:stringByAppendingPathComponent 和 stringByAppendingString 的取别

stringByAppendingPathComponent 是路径拼接 会在字符串前添加 “/”

stringByAppendingString 拼接字符串 没有 “/”

方法2: 搜索

NSArray *paths =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents1 = [paths lastObject];

注: 通过搜索获得数组(paths )中只有一条数据 所以 不论是取最后一条还是第一条都是正确的

方法3: NSFileManager

NSURL*documents2 = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];  
//url 转字符串
NSString*documentsPath2 = documents2.absoluteString;
NSLog(@"路径是:%@",documentsPath2);

2.2、获取沙盒路径下 Library/Caches 目录

和上面 方法相同,参数不同

方法1:拼接

NSString *homePath = NSHomeDirectory();
NSString *cachePath = [homePath stringByAppendingPathComponent:@"Library/Caches"];

方法2:

NSArray *cpaths =  NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath1 = [cpaths lastObject];

方法3:

NSURL*cacheUrl = [[[NSFileManager defaultManager] URLsForDirectory: NSCachesDirectory inDomains:NSUserDomainMask] lastObject];
NSString*cachePath2 = cacheUrl.absoluteString;

相关文章

  • iOS 数据持久化知识汇总(1)—————存储路径

    一、沙盒和沙盒存储路径 1、沙盒是什么 iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所...

  • iOS | 面试- 数据持久化

    iOS | 面试知识整理 - 数据持久化(八) 1. iOS中数据持久化方案有哪些? NSUserDefault简...

  • iOS数据持久化

    Title: iOS数据持久化 ##数据持久化概念 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型...

  • 数据持久化学习笔记

    数据持久化的相关知识 四种将数据持久化存储到iOS文件系统的机制: plist 对象归档 iOS的嵌入式关系数据库...

  • iOS--FMDB

    一、数据持久化 数据持久化是通过文件将数据存储在磁盘上 1、iOS下主要有四种数据持久化方式 1)属性列表 2)对...

  • iOS数据存储

    iOS数据存储 持久化存储 概述: 持久化存储——将数据保存在硬盘里,当应用程序重启后可以访问到之前存储的数据。是...

  • iOS之数据持久化

    1、iOS数据持久化之——NSUserDefaults NSUserDefaults适合存储轻量级的本地数据,比如...

  • iOS开发之数据的持久化存储机制

    IOS中数据的持久化保存这块内容,类似于Android中文件的几种常见的存储方式。对于数据的持久化存储,ios中一...

  • iOS Realm数据持久化--Realm集合分页(四)

    iOS Realm数据持久化--Realm基础知识 (一)iOS Realm数据持久化--数据分页与复用原理 (二...

  • iOS 开发技术选型之数据库:SQLite vs. Core D

    持久化方案 在 iOS 开发中,数据持久化存储是一个很常见的需求。所谓持久化存储,就是将数据存到硬盘,使得应用重启...

网友评论

      本文标题:iOS 数据持久化知识汇总(1)—————存储路径

      本文链接:https://www.haomeiwen.com/subject/nosjuftx.html