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

东莞建设公司网站如何使用wordpress

东莞建设公司网站,如何使用wordpress,软件界面制作,阜阳网站是文章目录 数据持久化的目的iOS中数据持久化方案数据持久化方式分类内存缓存磁盘缓存 沙盒机制获取应用程序的沙盒路径沙盒目录的获取方式 持久化数据存储方式XML属性列表Preferences偏好设置#xff08;UserDefaults#xff09;数据库存储什么是序列化和反序列化#xff0c;… 文章目录 数据持久化的目的iOS中数据持久化方案数据持久化方式分类内存缓存磁盘缓存 沙盒机制获取应用程序的沙盒路径沙盒目录的获取方式 持久化数据存储方式XML属性列表Preferences偏好设置UserDefaults数据库存储什么是序列化和反序列化用来做什么写入和读取plist文件 数据持久化的目的 快速展示提升体验 已经加载过的数据用户下次查看时不需要再次从网络磁盘加载直接展示给用户 节省用户流量节省服务器资源 对于较大的资源数据进行缓存下次展示无需下载消耗流量 同时降低了服务器的访问次数节约服务器资源。 离线使用 用户浏览过的数据无需联网可以再次查看。 部分功能使用解除对网络的依赖。百度离线地图、图书阅读器 无网络时允许用户进行操作等到下次联网时同步到服务端。 记录用户操作 草稿对于用户需要花费较大成本进行的操作对用户的每个步骤进行缓存用户中断操作后下次用户操作时直接继续上次的操作。 已读内容标记缓存帮助用户识别哪些已读。 搜索记录缓存 iOS中数据持久化方案 NSUserDefault 简单数据快速读写Property list (属性列表)文件存储Archiver (归档)SQLite 本地数据库CoreData 数据持久化方式分类 在移动端的数据持有化方式总体有两类 内存缓存 定义 对于使用频率比较高的数据从网络或磁盘加载数据到内存以后使用后并不马上销毁下次使用直接从内存加载。 内存指当前程序的运行空间缓存速度快容量小是临时存储文件用的供CPU直接读写。打开一个程序他是在内存中存储关闭程序后内存就又回到原来的空间空间。 案例 iOS系统图片加载 —— [UIImage imageNamed:“imageName”] 网络图片加载三方库 SDWebImage 磁盘缓存 定义将从网络加载的用户操作产生的数据写入到磁盘用户下次查看、继续操作时直接从磁盘加载使用 磁盘是程序的存储空间缓存容量大、速度慢、可持有化。与内存不同的是磁盘是永久存储东西的。 案例 用户输入内容草稿缓存 搜索历史缓存 网络图片加载三方库 SDWebImage 沙盒机制 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用的文件系统隔离, iOS系统不允许访问其他应用的应用沙盒。在iOS8中已经开放访问(extension)。extension是iOS8新开放的一种对几个固定系统区域的扩展机制,它可以在一定程度上弥补iOS的 沙盒机制对应用间通信的限制。 应用沙盒一般包括以下几个文件目录:应用程序包、Documents、Libaray(下面有Caches和 Preferences目录)、tmp。 应用程序包:包含所有的资源文件和可执行文件。Documents:保存应用运行时生成的需要持久化的数据,iTunes会自动备份该目录。苹果建议将程 序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目 录tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行 时,系统也有可能会清除该目录下的文件,iTunes不会同步该目录。iphone重启时,该目录下的 文件会丢失。Library:存储程序的默认设置和其他状态信息,iTunes会自动备份该目录。 Libaray/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除。一 般存放体积比较大,不是特别重要的资源。 Libaray/Preferences:保存应用的所有偏好设置,iOS的Settings(设置)应用会在该目录中查找 应用的设置信息,iTunes会自动备份该目录。 获取应用程序的沙盒路径 // 获取沙盒根目录路径 NSString *path NSHomeDirectory();注意 每次编译代码会生成新的沙盒路径注意是编译不是启动所以模拟机或者真机运行每次运行所得到的沙盒路径都是不一样的线上版本app真机不会生成新的沙盒路径。 上面的代码得到的就是当前应用程序目录的路径该目录下就是应用程序的沙盒在该目录下有4个文件夹Documents、Library、SystemData、tmp当前应用程序只能访问该目录下的文件。 沙盒目录的获取方式 //获取沙盒根路径 NSString *path NSHomeDirectory(); NSLog(沙盒根路径%, path); //Document路径 NSString *docDir [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSLog(Document目录路径%, docDir); // 获取Library的目录路径 NSString *libDir [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject]; NSLog(Libarary目录路径%, libDir); // 获取Caches目录路径 NSString *cachesDir [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; NSLog(Cacheas目录路径%, cachesDir); // library Preference NSUserDefaults *defaults [NSUserDefaults standardUserDefaults]; NSLog(偏好设置目录路径%, defaults); // 获取tmp目录路径 NSString *tmpDir NSTemporaryDirectory(); NSLog(tmp目录路径%, tmpDir);输出结果 持久化数据存储方式 XML属性列表 属性列表是一种XML格式的文件拓展名为plist。 如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型就可以使用 writeToFile:atomically:方法直接将对象写到属性列表文件中举例说明 // 获取 Document 文件目录NSString *docPath NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];// 在 Document 目录下新建一个 test.plist 文件NSString * filePath [docPath stringByAppendingPathComponent:test.plist];// 存字典将字典数据存到刚才的 test.plist 文件NSDictionary* dict { name :zxb10, age : 20 };[dict writeToFile:filePath atomically:YES];// 取字典从刚才的 test.plist 文件中取出字典数据NSDictionary* dictA [NSDictionary dictionaryWithContentsOfFile:filePath];NSLog(%, dictA);// 存数组NSArray* array [zxb10, 20];[array writeToFile:filePath atomically:YES];// 取数组NSArray* arrayA [NSArray arrayWithContentsOfFile:filePath];NSLog(%, arrayA);输出结果 我们可以在document目录下找到这个文件 因为我们最后是存储的 NSArray 数据类型的所以他这里也就是 NSArray 类型的数据。 Preferences偏好设置UserDefaults 很多iOS应用都支持偏好设置提供了一套标准的解决方案来为应用加入偏好设置功能比如保存用户名字体大小密码是否自动登录等。 每个应用都有个NSUserDefaults实例可以通过它来存取偏好设置不需要路径。其本身的创建类似于单例模式我们在后面用不同的属性名再次申请创建会覆盖之前的数据。 NSUserDefaults简单数据快速读写不能存储自定义类型。 UserDefaults设置数据时不是立即写入而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题可以通过调用synchornize方法[defaults synchornize];强制写入。 偏好设置存储的优点 不需要关心文件名系统会自动帮你生成一个文件名。快速做键值对的存储。 我们使用UserDefaults注册一个账号密码试一下 // 获取偏好设置对象NSUserDefaults *defaults [NSUserDefaults standardUserDefaults];//存储数据[defaults setObject:zxb10 forKey:name];[defaults setObject:zxbnb666 forKey:password];// 同步调用立刻写到文件中不写这个方法会异步有延迟[defaults synchronize];// 需要验证账号密码的地方获取偏好设置对象NSUserDefaults *defaultsA [NSUserDefaults standardUserDefaults];NSString *name [defaultsA objectForKey:name];NSString *password [defaultsA objectForKey:password];NSLog(name:% password:%, name, password);数据库存储 SQLite 是目前主流的嵌入式关系型数据库其最主要的特点就是轻量级、跨平台当前很多嵌入式操作系统都将其作为数据库首选。CoreData CoreData是iOS5之后才出现的一个框架本质上是对SQLite的一个封装它提供了对象-关系映射(ORM)的功能即能够将OC对象转化成数据保存在SQLite数据库文件中也能够将保存在数据库中的数据还原成OC对象在这个过程中不需要手动编写任何SQL语句CoreData封装了数据库的操作过程以及数据库中数据和OC对象的转换过程。通过CoreData管理应用程序的数据模型可以极大程度减少需要编写的代码数量。FMDB 是一个处理数据存储的第三方框架框架是对sqlite的封装整个框架非常轻量级但又不失灵活性而且更加面向对象。 SQLite和CoreData的区别 CoreData可以在一个对象更新时其关联的对象也会随着更新相当于你更新一张表时其关联的其他表的也会随着更新。CoreData供更简单的性能管理机制可以限制查询记录的总数这个类会自动更新其缓存。多表查询方面CoreData没有SQL直观没有类似外连接左连接等操作。 什么是序列化和反序列化用来做什么 序列化把对象转化为字节序列的过程反序列化把字节序列恢复成对象作用把对象写到文件或者数据库中并且读取出来 写入和读取plist文件 // 其中Show为我们plist文件的名称后面的plist是Show的扩展名 // 写入plist - (void)setDataFromPlist {NSString *plist [[NSBundle mainBundle] pathForResource:Show ofType:plist];NSMutableDictionary *temp [[NSMutableDictionary alloc] init];[temp setValue:20 forKey:age];[temp setValue:男 forKey:sex];[temp writeToFile:plist atomically:YES]; }// 读取plist - (void)getDataFromPlist {NSString *plistPath [[NSBundle mainBundle] pathForResource:Show ofType:plist];NSMutableDictionary *dataDic [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];NSLog(%, dataDic);//直接打印数据 }
http://www.sczhlp.com/news/236229/

相关文章:

  • 合肥水运建设工程监理网站揭阳智能模板建站
  • 个人主题网站设计东莞营销型网站
  • 武陟住房和城乡建设局网站cnzz统计代码放在后台网站为什么没显示
  • 网站建设公司网站模板做效果图去哪个网站接活
  • 哪个网站做x展架比较好 知乎龙岩网红街在哪里
  • 网页网站设计用什么软件刷推广软件
  • 网站开发和网站运营北京网站策划公司
  • 营销咨询公司收费标准广西seo关键词怎么优化
  • Python实现冒泡排序
  • Spring的JDK和CgLib动态代理的区别
  • 石家庄有做网站的公司吗织梦小说网站源码
  • 企业网站的基本内容有哪些国外设计网站大全
  • 白山北京网站建设查看网站被恶意镜像
  • 网站界面设计材料收集溧水建设局网站
  • 网站首页制作公司局域网内建设网站
  • 恒信在线做彩票的是什么样的网站苏州新区保洁公司
  • 视频网站做app工信部网站备案怎么登录
  • 建设部门网站查询140平米装修多少钱
  • htm5网站建设寻花问柳-专注做一家男人的网站猪
  • 贵州建设厅考试网站恩阳建设局网站
  • 网站建设公司做网站需要注意什么互联网站点
  • 做二手网站好的名字伊犁州住房城乡建设局网站
  • 双语网站开发温州软件开发
  • 江苏省建设工程网站系统微博seo营销
  • 民权做网站网站开发做什么科目
  • 怎样做投资与理财网站h5在哪个网站上做
  • 三门峡 网站建设美容视频视频网站建设
  • 谷歌生成在线网站地图wordpress模板淘宝客模板
  • 外贸英文网站建设软件开发 网站建设
  • 网站改版降权天津网站建设方案优化