当前位置: 首页 > news >正文

建设厅网站企业诚信分值门户网站建设和管理情况

建设厅网站企业诚信分值,门户网站建设和管理情况,中国建设监理工程协会网站,企业网站建设实训体会在iOS开发中,我们经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等,本篇文章将介绍六个主要的数据存储方式 iOS中数据存储方式(数据持久化) 根据要存储的数据大小、存储数据以及…

在iOS开发中,我们经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等,本篇文章将介绍六个主要的数据存储方式

iOS中数据存储方式(数据持久化)

根据要存储的数据大小、存储数据以及存储类型,存储方式主要分为一下几种:

  • Plist(属性列表),不能存放自定义对象
  • Preference(偏好设置/NSUserDefaults)
  • NSCoding(NSKeyedArchiver/NSKeyedUnarchiver,归档/解档)
  • SQLite3
  • Core Data(面向对象)
  • FMDB

【iOS】数据持久化(一)之Plist文件、Preference(NSUserDefaults类)
【iOS】数据持久化(二)之归档和解档(iOS 13以后)
【iOS】数据持久化(三)之SQLite3数据库
【iOS】数据持久化(四)之FMDB

Core Data是苹果官方提供的数据持久化解决方案,无需借助第三方框架,但学习门槛较高,编者目前课业较为紧张,以后会深入学习…🙏🏻

沙盒机制

在研究存储方式之前,我们有必要先研究一下这些文件会存储到什么地方,这就需要我们了解iOS App特有的沙盒机制

请添加图片描述
如图为沙盒目录结构,参考(苹果官方文档)

iOS程序默认情况下只能访问自己的目录,这个目录被称为 “沙盒”

沙盒其实就是每一个iOS App特有的一个文件夹,每个iOS App都有自己的应用沙盒(文件系统目录),其结构和目录特性都是一样的

沙盒目录与其他文件系统隔离,应用必须呆在自己的沙盒里,其他应用不能访问该沙盒

简言之,应用只能访问自己应用下的文件

沙盒结构

每个App的沙盒都是由下图所示的四部分组成,每一部分中存放的数据和内容都是有一定的规范和性质的:

请添加图片描述

直接通过NSHomeDirectory()可以得到该沙盒路径:

NSString* path = NSHomeDirectory();
NSLog(@"%@", path);

沙盒目录特性

沙盒中每个文件夹都有各自的特性,所以在选择存放目录时,一定要选择合适的目录

  • 应用程序包: 除沙盒目录之外,每一个App还有一个Bundle目录,即 “应用程序包(Application)”,该目录下存放的是应用程序的源文件,包括资源文件和可执行文件,上架前经过数字签名,上架后不可修改。获取Bundle路径的方法是:
NSString* path = [[NSBundle mainBundle] bundlePath];
NSLog(@"%@", path);

如果需要借用某个App的图标或贴图,可以在该App中的程序应用包中找到.app结尾的源文件,然后右键点击显示包内容即可直接获取到其所有的图标和贴图

  • Documents: 保存应用运行时生成的需要持久化的数据,iTunes同步该应用时同步该文件夹中的内容,适合存储重要数据。获取该文件路径的方法是:
NSString* path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);
  • Library/Caches: iTunes同步该应用时不会同步该文件夹中的内容,适合存储体积大、无需备份的非重要文件。比如网络数据缓存就会存储到cache文件中:
//获取Library:NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject
NSString* path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);
  • Library/Preferences: iTunes同步该应用时同步此文件夹的内容,通常保存应用的偏好设置,使用NSUserDefaults类来获取和设置应用的偏好
  • tmp: iTunes不会同步此文件夹,此目录用于存放临时数据,使⽤完毕后相应的文件会从该目录删除,保存应用程序再次启动过程中不需要的信息
NSString* path = NSTemporaryDirectory();
NSLog(@"%@", path);

NSSearchPathForDirectoriesInDomains

请添加图片描述

  • directory 表明我们要搜索的目录名称,比如NSDocumentDirectory搜索Documents目录、NSCachesDirectory搜索Library/Caches目录
  • domainMask 指定搜索范围,NSUserDomainMask表示搜索范围限制在当前应用的沙盒目录,还有NSLocalDomainMask(表示/Library)、NSNetworkDomainMask(表示/Network)
  • expandTilde BOOL值,表示是否展开波浪线。
    比如该值为YES表示路径写成全写形式:/Users/Username/Library/Developer/CoreSimulator/Devices/8D71115A-D081-4440-9C94-13BD102412DB/data/Containers/Data/Application/D53B8C34-A16B-4A3D-9931-001D06F0C51F/Library/Caches
    该值为NO表示路径写成:~/Library/Caches
http://www.yayakq.cn/news/628615/

相关文章:

  • 公司网站的实例自动跳转手机网站
  • 湘潭学校网站建设 磐石网络第一dw做网站背景音乐
  • 美工做的好的网站保定关键词优化软件
  • 建设网站和备案网站的制作成品
  • 台州网站排名外包wordpress升级失败
  • 网站页面和图片设计张家港网站网络公司
  • 建设新网站征求意见刚开始做网站要传数据库吗
  • 网站安全建设需求分析报告济南百度竞价
  • 如何做自己的网站系统怎么用手机免费下载1688视频
  • 做一个国外的网站重庆网站制作权威乐云践新
  • 现在pc端网站开发用的什么技术湖北专业网站建设维修电话
  • 凡科做网站在百度能看见吗可以做任务的创意设计网站
  • 张槎网站建设制作手机制作网站app
  • 普陀做网站公司彩票网站建设古大学
  • 深圳品牌网站推广公司电子商务网站建设课设
  • 新建茶叶网站文章内容建设棋牌类网站设计建设
  • 陕西做网站电话装饰工程公司属于什么行业
  • 广西建设监理协会官方网站网站数据库怎么建立
  • 溧阳常州做网站美观网站建设哪家好
  • 中企动力做网站5个月了北京专业制作网站
  • 商丘柘城做网站wordpress 主题 排名
  • 太原新站优化建设网站所需资料
  • 网站建设 计划书免费网络推广软件
  • 汽车电商网站建设建站优化推广
  • 米各庄有做网站的吗网站主机租用
  • 网站怎么做免费推广方案自定义页面wordpress
  • 网站维护济南企业做网站
  • 宁波企业网站搭建特点wordpress图像缩放插件
  • 网站上传到虚拟空间郴州公司做网站
  • 网站收费标准网上购物网站模板