iOS 数据本地化(开篇)

2019-01-04  本文已影响48人  木兮_君兮

iOS Application的文件目录:

1.Documents  //这个可以被iTunes 共享文件,并且会被备份到iCloud。
2.Library         //下面有preference and cache。
3.SystemData//
4.tmp              //每次重新打开程序,里面的文件都会消失

何为数据本地化?

数据本地化:又名持久化,存储在磁盘本地当中。

为何要数据本地化?

1. 是为了解决application在没有网络的情况下,让应用仍然需要正常运行。
2.为了下次要做什么特定的操作,需要将当前内存当中的数据暂时先保存下来。

数据持久化的方式?

一般情况下,[[NSUserdefaults standardUserdefaults] setObject: forKey] 和 [[NSUserdefaults standardUserdefaults] objectForKey:] 这两个方法和 归档连着使用。(说到归档,要想到NSCoding 这两个protocol,我们需要实现,我们可以用runtime 运行时对对象的属性动态算出来进行 encode 和 decode)。

需求的分析:

1.应用是全offline(应用场景为登录的时候,我们下载数据库,或者下载数据然后存到本地),这种场景就类似电脑端C/S 类型的应用了;
2.应用以onLine 为主,offline 为辅(每次有网络的时候是通过online交互,没有网络的时候是否需要正常操作,所需求的数据量是多少);

架构分析:三层架构

UI:       //UI层面
BLL:    //业务逻辑(验证,计算,业务规则)
DAL:   //和数据库打交道。增删改查
Entity: //数据模型  

从iOS 角度来看:

1.iOS一般的类是NSObject 的model类,UIViewController类,View。我们将UIViewController和View 归类到UI层(UI表现层)。

2.我们可以新建一个ViewModel 用来存放业务逻辑(BLL)。

3.如果涉及到数据库的增删该茶 我们可以新建一个DAL(一般一个表我们可以新建一个model,用继承的方式产生不同的子类,传给父类不同的创建table的sql和tablename。在基类中我们书写增<一条record ,多条record>删改查的方法)。

4.entity,指存放数据的实体。

上一篇 下一篇

猜你喜欢

热点阅读