【IOS-COCOS2D游戏开发之十九】游戏数据存储的四种常用方式NSKEYEDARCHIVER/NSUSERDEFAULTS/WRITE写入/SQLITE3

简介:
本站文章均为  李华明Himi  原创,转载务必在明显处注明: 

转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/513.html


OK,今天Himi介绍游戏存储这一块,在Android游戏开发中Himi介绍了好几种保存的方式和形式,那么在iOS中也有几种方式,一般常用的有以下四种形式:

  1.  NSKeyedArchiver(加密形式)

       2.  NSUserDefaults

       3.  Write写入方式

       4.  SQLite3

这里Himi就不再介绍SQlite数据库了,Android游戏存储中我也介绍过SQLite如何保存数据,但是由于这一块很多童鞋没有接触过数据库相关知识,所以即使讲了也没作用,那么对于数据数据库的童鞋们可以参考其他博文或书籍进行学习;

  首先介绍第一种保存方式:NSKeyedArchiver

代码很简单就不多解释了直接上代码:

 第二种保存方式:NSUserDefaults

代码很简单就不多解释了直接上代码:

第三种保存方式:Write写入方式

代码很简单就不多解释了直接上代码:

不论哪种形式代码都很容易理解,那么以上三种保存方式代码中都带有如下两行代码;

我已经注释上了,为了验证是否保存数据成功,如果没有保存成功,最后打印的肯定就是hhhhhhiiiiiiiii,mmmmiiiii啦~正常保存的话如下图控制台信息:

由于本章介绍过于简单,那么下面Himi对Write写入方式保存数据和读取数据封装了两个方法这里放出,给童鞋们行个方便:(其他两种大家封装起来风容易了,这里就不写了);

封装的函数如下:

使用代码如下:

运行效果截图如下:

这里Himi要提醒大家两点细节也是需要注意的地方:

1.对于取出数据的时候需要注意,例如如下代码:

第二句代码是通过一个文件名获取你存储的数据,返回数据数组,但是!一定要注意这里返回的数据数组是不可修改的!及时你将读取的数据赋给一个可修改的数组中也一样无法修改其中的数据,所以如果你想将取出的数据进行修改那么这里需要要使用第三行代码来获取,这里Himi将获取出的数据数组首先copy给了可修改数组中,那么此时你的可修改数组就可以正常修改了!

2.修改已经的存储文件;代码如下:

arraySaveData:表示新的数据数组;


相关文章
|
4月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
77 0
|
4月前
|
存储 数据库连接 数据库
Android数据存储:解释SQLite数据库在Android中的使用。
Android数据存储:解释SQLite数据库在Android中的使用。
64 0
|
4月前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
217 2
|
4月前
|
存储 数据库 对象存储
IOS的四种数据存储方式及优劣
IOS的四种数据存储方式及优劣
50 1
|
4月前
|
存储 安全 数据安全/隐私保护
IOS开发数据存储:解释一下 iOS 中的 Keychain,它的作用是什么?
IOS开发数据存储:解释一下 iOS 中的 Keychain,它的作用是什么?
186 4
|
4月前
|
存储 数据库 iOS开发
IOS开发数据存储:什么是 CoreData?如何在应用中使用它?
IOS开发数据存储:什么是 CoreData?如何在应用中使用它?
152 0
|
存储 数据库 数据库管理
数据存储之-SQLite数据库二
数据存储之-SQLite数据库二
11741 0
|
SQL 存储 Java
数据存储之-SQLite数据库一
数据存储之-SQLite数据库一
159 0
|
SQL 存储 Oracle
【Android】7.0复杂数据的存储SQLite(内置数据库)Room框架
常用的数据库 sqlserver oracle mysql Android嵌入式数据库SQLite SQLite数据库支持SQL语法和ACID事务,适用于存储大量的关系型数据 eg:qq的聊天列表 学习强国的新闻
549 0
|
SQL 存储 大数据
SQLite数据存储
SQLite是一种转为嵌入式设备设计的轻型数据库,只有五种数据类型
145 0