iOS-数据持久化(一)

小米万兆路由器里的Docker安装可道云(Kodexplorer)私有网盘 小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装[可道云](http://kodcloud.com/)(Kodexplorer)私有网盘。 阅读详情
数据持久化
常用方式: XML(plist,本质XML)
Preference(偏好设置)
NSKeyedArchiver(归档)
SQLite3(大数据,高效率)
CoreData(封装了SQLite3,iOS 5.0出现,低效率)

今天先总结前面的三种方式:

数据源持久化操作(plist)
1NSHomeDirectory沙河根路径
2stringByAppendingPathComponent:方法拼接根路径下的文件夹
3stringByAppendingPathComponent:方法拼接要创建的文件
4writeToFile:atomically:方法可以写入.plist文件
5读取:也是通过NSHomeDirectory获取路径,像懒加载一样读取
⚠plist存储数据的话,根本缺点就是只适用于Foundation框架自带类,虽然编译可过!

Preference(偏好设置)操作
1NSUserDefaults(单例对象)的standardUserDefaults方法获取对象
2用上面获得的对象 setObject:forKey:方法存个人偏好(类似字典)
  补充:setInteger:forKey:等等方法存入各种类型的偏好参数
3立即同步:上面的对象 synchronize 方法马上把设置的数据同步
4读取:也是拿到NSUserDefaults对象,objectForKey:方法读取数据
⚠偏好设置本质上一样是XML生成plist进行存储,除了plist根本缺点文件名也不能改

对象的归档,(如果父类也有NSCoding归/读档的方法一定要先调用父类方法)
1[NSKeyedArchiver archiveRootObject:(NSObject*) toFile:path]文件后缀.data
2对象要复写encodeWithCoder:方法才能归档,需要遵守<NSCoding>协议
3在上面方法中调用NSCoder的encodeObject:_name forKey:@“key"描述存储方式     ( _name是待归档的对象属性 )
4读取:[NSKeyedUnarchiver unarchiveObjectWithFile:path]读出对象
5复写对象的initWithCoder:方法才能读档,也要遵守<NSCoding>协议
6_name = [dcoder decodeObjectForKey:]写出如何从.data文件读出对象
7encodeWithCoder:内的属性归档描述应该与initWithCoder:方法配对


置顶必读(1) |《滚雪球学SpringBoot 3.x》· 高质量专栏介绍,你值得拥有! 《滚雪球学SpringBoot 3.x》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。 阅读详情

相关推荐

51单片机学习(5)-----蜂鸣器的介绍与使用

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定 时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。1.半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。三极管顾名思义具有三个电极。二极管是由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。

2302_80260350的博客 1万+

iOS 数据持久化之CoreData(一)堆栈与基本概念

原创Blog,转载请注明出处 blog.youkuaiyun.com/hello_hwc 我的iOS SDK详解专栏,这里你能找到很多iOS 开发入门的文章。 http://blog.youkuaiyun.com/column/details/huangwenchen-ios-sdk.html前言:CoreData是对象图管理和数据持久化的一个良好的工具,是iOS开发必须掌握的技术之一。本文会先介绍一些概念,方便以后

Leo的专栏 3706

【win11】主板更新之后pin不可用,恢复方法

台式机的主板更新了BIOS,再开机竟然登录不进去系统了。 登录界面上显示:【由于此设备上的安全设置已更改,你的pin码不再可用。单击以重新设置pin】 点击【单击以重新设置pin】没有任何反应。 也没有密码登录选项。 在网上找到解决方法,不用PE,只需要按步骤操作即可。通过实际验证可行,现记录如下。

1万+

iOS 数据持久化 (一)

iOS开发常用的数据持久化方式有NSUserdefaults(属性列表),NSKeyedArchiver(归档/解归档),write , SQLite 3, CoreData等。 ###1.【属性列表】 NSUserDefaults 是一个单例,整个程序中只有一个实例对象,用于数据的永久保存,也是使用最简单。 ⚠️支持的数据类型有:NSNumber,double,float,NSInteger,N...

hubangguo的博客 360

Abaqus梁模型仿真中的常见陷阱与优化策略

本文深入探讨了Abaqus梁模型仿真中的常见陷阱与优化策略,涵盖几何建模、材料属性设置、边界条件处理等关键环节。针对梁截面方向定义、网格划分、复合截面建模等典型问题,提供了实用的Python脚本示例和优化方案,帮助工程师避免计算错误并提升仿真精度。文章特别强调了动力分析中的网格密度要求和材料非线性考虑,为复杂工程应用提供专业指导。

weixin_29099217的博客 461

Vue3多级路由缓存失效的深度解析与实战解决方案

本文深度解析了Vue3项目中多级路由下keep-alive缓存失效的根本原因,并提供了三种实战解决方案:通过路由扁平化根治问题、利用状态管理精细模拟缓存效果,以及借助keep-alive-vue3插件快速修复。文章旨在帮助开发者彻底理解Vue Router与keep-alive的协作机制,从而根据项目情况选择最佳策略,有效解决页面状态丢失的难题。

weixin_29015801的博客 285

iOS数据持久化(一)

一、什么是数据持久化 数据持久化及数据的永久存储,将数据保存在硬盘中,程序关闭,内存释放后,重新打开程序,可以继续访问之前保存的数据。 二、数据持久化方式 常见的数据持久化方式有以下几项: 沙盒 preference 归档 / 反归档 SQLite C...

chenkongshi8913的博客 117

从桨叶设计到电机匹配:手把手教你调出无人机最佳动力组合

本文系统介绍了无人机动力系统的核心匹配原则,重点解析了如何通过测试与数据分析,优化螺旋桨与电机的组合,从而显著提升系统力效与续航。文章提供了从参数解读、实战测试到深度调优的完整指南,帮助开发者解决电机过热、推力不足等常见问题,实现无人机性能最大化。

weixin_29305313的博客 242

iOS 数据持久化(一)

iOS中有五种持久化数据的方式:属性列表、对象归档、NSUserDefault 、SQLite3和Core Data 本文章讲述通过属性列表的方式持久化数据,这个方法也是我们平时最经常用到的方式。比如应用程序的配置和个性化的设置,一般都是通过属性列表(properties list) plist文件来存储和读取的。

Ideas worth spreading! 1803

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

weixin_43567873的博客 297

Python中的join函数的用法

从语法、实例、应用三方面详尽地介绍join函数

阿黎逸阳的博客 2万+

IOS 数据持久化(一)—— plist 存储

所谓的数据持久化,即数据存取,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案: XML属性列表(plist)归档; Preference(偏好设置); NSKeyedArchiver归档(NSCoding); SQLite3; Core Data 每个 IOS 应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离

黄飞的博客专栏 1783

分布式爬虫架构实战:Scrapy+RabbitMQ+浏览器池,百万级数据抓取成本直降60%(附架构图+源码)

任务调度瓶颈:Redis 作为消息队列,不支持复杂任务优先级,高并发下容易消息堆积,且单点故障会导致全量任务丢失;资源浪费严重:每个爬虫节点每次爬取动态页面都启动新浏览器,启动耗时3-5秒,CPU 占用率高达80%+,单机最多同时跑3个浏览器;扩展性差:新增节点需要手动同步任务队列,节点忙闲不均,无法根据任务量动态分配资源。# 从settings读取RabbitMQ配置# 注册信号:爬虫关闭时关闭RabbitMQ连接"""启动时建立RabbitMQ连接"""

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1618

iOS 数据持久化一-属性列表

iOS中有五种持久化数据的方式:属性列表、对象归档、NSUserDefault、SQLite3和Core Data 本文章讲述通过属性列表的方式持久化数据,这个方法也是我们平时最经常用到的方式。比如应用程序的配置和个性化的设置,一般都是通过属性列表(properties list) plist文件来存储和读取的。 [objc] view plaincop

zrhloveswallow的专栏 796

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

iOS应用数据持久化(一)

一、iOS应用常用的数据持久化方式:1.XML属性列表(plist)2.preference(偏好设置)3.NSKeyedArchiver(归档与反归档)4.SQLite3(数据库)5.CoreData二、应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录,与其他文件系统隔离。如下图: 分析:1.Docume...

weixin_33763244的博客 135

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ios 的数据持久化技术(一)

在iOS中有一整套的数据安全体系,而对于iOS自身的APP来讲只能访问专属于自己的目录,这个目录就是我们通常在iOS开发中所讲的沙箱(沙盒)目录,就此目录而言应用程序间是禁止数据的共享和访问的。 一、沙箱(沙盒)的结构《1》、应用程序包(上图中的动态单元格高度.app);包含了所有的资源文件和可执行文件 《2》、 Documents:保存应用运行时需要持久化的数据,iTunes 同步设备时会备份

1848倒计时 515

iOS 数据持久化一-属性列表 Plist

iOS中有五种持久化数据的方式:属性列表、对象归档、NSUserDefault、SQLite3和Core Data 本文章讲述通过属性列表的方式持久化数据,这个方法也是我们平时最经常用到的方式。比如应用程序的配置和个性化的设置,一般都是通过属性列表(properties list) plist文件来存储和读取的。 [objc] view plaincop

xiaoweifive的博客 433

IOS开发--数据持久化篇之文件存储(一)

IOS开发--数据持久化篇之文件存储(一)

Cboyce的博客 714

IOS数据持久化之Core Data(一) - 框架说明

Core Data是一套用来解决对象生命周期管理、对象关系图管理以及持久化方面问题的框架, 在大多数情况下我们使用Core Date做为持久化数据的解决方案,它提供了对象-关系映射(ORM)的功能,利用它可以将OC对象转化为数据保存在SQLite中,同时也能够将保存的数据还原成OC对象 用图像描述如下:

高级项目经理、专注于技术架构、分享项目管理及职场心得 1169

iOS数据持久化(一、NSUserDefaults)

  NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选(需要加密的登录信息请略过)。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯。 因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些...

weixin_30486037的博客 80

【iOS】数据持久化(一)之Plist文件、Preference(NSUserDefaults类)

Plist文件(属性列表)是将某些特定的类,通过XML文件的方式保存在目录中。什么是 XML?可扩展标记语言 (XML) 允许您以可共享的方式定义和存储数据。XML 支持计算机系统(如网站、数据库和第三方应用程序)之间的信息交换。预定义的规则简化了在任何网络上以 XML 文件的形式传输数据的过程,接收者可以使用这些规则准确高效地读取数据。 Perference(偏好设置)顾名思义就是专门用来存储系统的偏好配置、用户设置的参数和App的状态等少量信息的,一般不保存其他数据

XY_Mckevince的博客 2198

iOS开发中的4种数据持久化方式【一、属性列表与归档解档】

iOS中的永久存储,也就是在关机重新启动设备,或者关闭应用时,不会丢失数据。在实际开发应用时,往往需要持久存储数据的,这样用户才能在对应用进行操作后,再次启动能看到自己更改的结果与痕迹。iOS开发中,我们需要数据持久化这一种技术,也需要不断在实际开发的工作与学习中完善数据持久化这一开发技术。 【本次开发环境: Xcode:7.2 iOS Simulator:iphone...

weixin_30527551的博客 379

IOS开发-数据持久化(一)【文本文件+二进制归档】

概要     数据持久化分为不同的方式,本章主要简示了数据归档(一般而说的序列化)和写XML的文本文件方式。其中XML文本方式主要使用NSArray或者NSDictionary的writeToFile方法,而数据归档使用了NSKeyedArchiver/NSKeyedUnarchiver等实现数据的归档(序列化)。 结果展示 程序展示 数据化文件       注意

Arbboter的专栏 2773

android realm 分页,iOS Realm数据持久化--Realm基础知识 (一)

目录1、Realm简介Realm是新兴的跨平台数据库解决方案,提供多语言支持(JAVA、Objective-C、Swift、JS、.Net),你可以轻松的在iOS、Android等移动平台接入。Realm平台主要提供数据存储和云同步等服务,数据存储服务免费,云同步是收费的,不排除未来数据存储有收费的可能性,但个人认为这种可能性非常低,可以放心使用。2、集成RealmRealm iOS提供动态库和静...

weixin_33622032的博客 631
上一篇: iOS-UIViewController的UIView生命周期
下一篇: iOS-Quartz2D绘图的基础用法总结
Lision丶
博客等级 码龄17年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值