数据持久化(PLayerPrefs)

目录

PlayerPrefs 

存储位置

练习题

反射知识

PlayerPrefs实践小项目

存储

装载泛型

存储字典

读取

读取常用类型

读取列表

读取字典

加密思路

打包方法


PlayerPrefs 

另外,如果键名相同,会被覆盖

如果这个键不存在,它会返回一个该类型的默认值,我们也可以指定这个默认值

也可以用来判断是否重名

存储位置

练习题

然后再写添加方法

直接用一样的参数,省去了手动创建再添加的过程。

先存储排行榜列表的长度,然后遍历所有信息体,遵循键不同的原则依次存储每个信息类里的数据(尾缀加i是为了让每个键名都不同。如果有多个排行榜,也要遵循这一原则)

读取则先读取长度,方便之后的遍历。因为我们之后创建排行榜是先load再save,所以先初始化列表。根据之前的键名读取值,将这个信息体创建出来加入列表。

反射知识

一个列表有list和<>中的类型,有时会需要获取泛型类型。

这个方法返回数组的原因

PlayerPrefs实践小项目

想办法建立一个通用的数据管理类,可以在外部直接调用它的方法。

存储

装载泛型

我直接去判断typeof(list)是不允许的,必须用list<具体类型>才能判断,所以想别的办法

如果申明list又要判断类型,所以直接声明Ilist。然后依次存储Ilist中的值,判断部分可以使用递归。

存储字典

原理也差不多

 不过,确保判断用的父类只有该子类一个继承。至少99%是字典

用foreach得到里面所有的键,再利用dic[key]得到所有的值,都存储一遍

存储自定义类:

附件1.saveValue方法:

读取

读取常用类型

此处参数应为loadKeyName,不是传进来的keyname

这个键明和存储时要一样,不然会读错

读取列表

利用之前补充的知识得到每个数据的类型,添加进列表,然后返回该读取好的列表

LoadValue方法如上。       此外,键名加i也是与存储时的键名匹配,当时是index

读取字典

字典需要键和值,所以add的时候也是一起读取键和值。 

如果发现传进来的这个变量,它是一个自定义类,那么就让这个类也执行一次遍历读取。

加密思路

打包方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值