UI:沙盒
IOS平台下,沙盒的本质就是一个文件夹
每一款IOS应用安装在手机上都会自动的生成一个文件夹。之所以叫沙盒,就是因为这个文件夹是每次运行随机产生的文件夹。沙盒文件夹是独立的,每个应用之间不能互相访问。A应用不能访问B应用的沙盒,是一个安全设置。
沙盒文件包括三个文件夹{Documents、 Library、 tmp}作用
Documents 对于一款应用,想长久存储的数据,都放在这个文件夹下面,但是不能预留的太多(一般是80M,如果过多,在上线的时候容易被拒绝)
Library:
Library/Preference 存放用户的一些偏好设置,如用户名,密码,是否是第一次启动
Library/Caches 缓存文件夹,对于这个文件夹,通过应用去下载的视频、音频、小说、图片
tmp: 文件夹是一个临时的问价夹,一般是存放我们应用程序所下载的压缩包,比如我们下载的Zip压缩包.
上面的三个文件夹是系统自动生成的三个文件夹,用户没有权限去删除。但是我们可以自己创建一个自己能够清除缓存的应用,我们可以删除自己创建的文件夹。
应用程序包的路径:里面包含了我们应用程序加载时候所需要的资源。(上线项目中要上传的一个包)一般是一个 .ipa格式
//获取沙盒文件夹的路径
NSString * homePath = NSHomeDirectory();
NSLog(@"%@",homePath);
//获取应用程序的包
NSString * boundlePath = [[NSBundle mainBundle] bundlePath];
NSLog(@"boundlePath:_>%@",boundlePath);
//获取沙盒文件夹的 Documents 文件夹
//第一个参数:对应搜索的文件夹,就是要查找的文件夹
//第二个参数:是要查找的文件夹所在的范围,用户域中去查找
//第三个参数:设置是否显示一个详细的路径。如果是就给一个 YES
//之前用于 PC (OS X电脑)端,可以同时有多个用户,所以我们获取的是所有的用户的文件路径。而 IOS 平台下,用户只有一个,所以在这里我们获取的路径,就只有一个。
NSString * documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSLog(@"documentsPath_>%@",documentsPath);
//获取其他的文件夹路径
//获取 Library 路径 它有两个子文件夹:Caches Preferences
NSString * LibaryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)firstObject];
NSLog(@"获取 Library 路径_>%@",LibaryPath);
//获取沙盒中 Library 中的 Caches 文件夹路径
NSString * caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
NSLog(@"获取沙盒中 Library 中的 Caches 文件夹路径_>%@",caches);
//获取包中的资源路径
NSString * filePath = [[NSBundle mainBundle] pathForResource:@"某文件名字" ofType:@"文件类型"];
NSLog(@"获取包中的资源路径_>%@",filePath);
//获取沙盒中 Preferences 文件夹路径
//获取 tmp 文件夹
NSString * tmpPath = NSTemporaryDirectory();
NSLog(@"获取 tmp 文件夹_>%@",tmpPath);
//NSUserDefaults 操作的是沙盒文件夹下的 Library 文件夹的 Preference 文件夹
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
//存储用户名
[defaults setObject:@"User" forKey:@"UserName"];
[defaults setObject:@"pasword" forKey:@"PasWord"];
[defaults setBool:YES forKey:@"FirstLunch"];//用来存储第一次启动,系统会自动的走一个保存的方法
[defaults synchronize];//如果,不写这句,过一段时间,程序也会走保存数据,这里就是防止程序突然中断,这里是立即保存数据(简单的不复杂的数据)
UI:沙盒的更多相关文章
- iOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档
1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每 ...
- UI基础:DataPersistent.沙盒
沙盒是系统为每一个应用程序生成的一个特定文件夹,文件夹的名字由一个十六进制数据组成,每一个应用程序的沙盒文件名都是不一样的,是由系统随机生成的. 沙盒主目录: NSString *homePath = ...
- IOS开发-UI学习-沙盒机制&文件操作
苹果为软件的运行提供了一个沙盒机制 每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中 ...
- <转>iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新 获取"产品付费数量等于0 ...
- iOS如何获取网络图片(三)有沙盒的
沙盒 沙盒简介 默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中建立的或在程 ...
- iOS开发——多线程篇——快速生成沙盒目录的路径,多图片下载的原理、SDWebImage框架的简单介绍
一.快速生成沙盒目录的路径 沙盒目录的各个文件夹功能 - Documents - 需要保存由"应用程序本身"产生的文件或者数据,例如:游戏进度.涂鸦软件的绘图 - 目录中的文件会被 ...
- iOS篇之有沙盒缓存
内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时 ...
- 【转】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程
http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新 获取"产品付费数量等于0这个问题& ...
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】
转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成 ...
随机推荐
- 【数学+枚举】OpenJ_POJ - C17J Pairs
https://vjudge.net/contest/171652#problem/J [题意] 问有多少个正整数对(x,y),使得存在正整数p,q满足 1 <= T <= 15 1 &l ...
- final finally finalize 区别及用法
final 1,final修饰的class,代表不可以继承扩展. 2.final的方法也是不可以重写的. 3.final修饰的变量是不可以修改的.这里所谓的不可修改对于基本类型来来,的确是不可以修改. ...
- 碧砚适合佳能328 4452 ICD520 4472 4450 硒鼓4700一体机墨盒4770
- IOS开发 Block的学习
苹果公司正在大力推广Block块语法的使用,据说Block会迟早取代一般协议代理的使用. Block最大的作用是函数回调,简化代码. 在ios中,将blocks当成对象来处理,它封装了一段代码,这段代 ...
- 【Nginx】处理用户请求
实际处理请求的方法ngx_http_mytest_handler(在配置配置项的回调方法中被调用(用于解析配置项))将接收一个ngx_http_request_t类型的参数,返回一个ngx_int_t ...
- 运行mapreduce - java.lang.InterruptedException
错误日志: 2018-11-19 05:23:51,686 WARN [main] util.NativeCodeLoader (NativeCodeLoader.java:<clinit> ...
- [RxJS] Chain RxJS Operators Together with a Custom `pipe` Function using Array.reduce
Instead of writing complex operators, it's usually best to write simple, single-purpose operators th ...
- 微信小程序实战之 goods(订餐页)
项目目录: 模拟数据: utils / data.js function getSData() { var data = [ { "name": "热销榜", ...
- router-link的a样式变成div样式元素属性
<router-link tag="div" :to="itemChild.path"><span>{{itemChild.name}} ...
- webstorm 6.0 注册码
User Name: EMBRACE License Key: ===== LICENSE BEGIN ===== 24718-12042010 00001h6wzKLpfo3gmjJ8xoTPw ...