美文网首页
iOS 数据本地化(开篇)

iOS 数据本地化(开篇)

作者: 木兮_君兮 | 来源:发表于2019-01-04 18:03 被阅读48次

    iOS Application的文件目录:

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

    何为数据本地化?

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

    为何要数据本地化?

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

    数据持久化的方式?

    • NSUserDefaults
    • 归档的使用
    • 数据库
    • CoreData

    一般情况下,[[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,指存放数据的实体。

    相关文章

      网友评论

          本文标题:iOS 数据本地化(开篇)

          本文链接:https://www.haomeiwen.com/subject/zzcfrqtx.html