项目中用户数据本地化处理方案

2018-11-29 王建伟 iOS开发

项目中用户数据本地化处理方案

项目中我们经常会对用户的一些属性进行本地话处理,比如:用户的账号密码,登陆有效期限等等,程序启动的时候首先需要对这些属性进行处理从本地将这些数据读取到程序的用户类当中,然后根据用户类中的属性的值进行下一步处理

首先我们需要新建一个用户类:比如User类,在user中定义自己需要的属性,比如:

由于user类肯定是一个全程序都需要用到的类,所以将user类设定成一个单例,单例的好处就是,在程序的全局中我们都可以调用他的方法和修改它的属性,牵一发而动全身。

由于用户的属性一般会保存在本地,用户后续持续打开程序的时候不必要进行繁琐的登陆操作,所以用户类创建的时候我们需要讲本地的数据读取进用户的属性中,然后才可以根据用户的属性进行判断,程序才能继续走下去,用户的属性一般很多很杂,有时候还需要持续的更新,添加,所以我们需要用一种方法来对用户属性进行初始化,最好是能自动读取用户的属性名称,然后根据用户属性名称自行去本地查找赋值,这样可以避免我们在对类的属性进行更新修改添加的时候需要修改初始化程序,方便,不容易出错。这时候就需要用到runtime自动在初始化的时候进行类属性名称的读取。

这边的SPReadDefault(property)是一个宏,封装的是[[NSUserDefaults standardUserDefaults] objectForKey:key]是NSUserDefaults类的一个方法用来读取存储在本地的键值对数据,和它对应的还有一个方法是用来存储键值对数据的,[[NSUserDefaults standardUserDefaults] setObject value forKey:key],由于程序的用户属性并不多且关系也不复杂,所以这里选用NSUserDefaults类来存储用户属性,否则可以选用新建一个数据库来存储复杂的用户属性。

初始化完成后,我们需要根据我们需要用到的功能来编辑相应的方法,一般有2个方法是必须的,一个是保存类的属性值到本地,一个是讲本地的数据清除

方法1:保存类的属性值到本地

方法2:本地的数据清除

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved