模型

作者: 飞翔的道长 | 来源:发表于2016-03-14 00:03 被阅读49次
  • 什么是模型
    • 专门用来存放数据的对象
    • 一般都是一些直接继承自NSObject的纯对象
    • 内部会提供一些属性来存放数据
  • 用模型取代字典的好处
    • 使用字典的坏处
      • 一般情况下,设置数据和去除数据都使用『字符串类型的key』,编写这些key时,编辑器没有智能提示,需要手动敲写
    dict[@"name"] = @"Jack";
    NSString *name = dict[@"name"];
    
    • 手敲字符串key容易写错
    • key如果写错了,编译器不会有任何提示
  • 使用模型的好处
    • 所谓模型其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业
    • 模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性
    • 使用模型访问属性时,编译器会提供一系列的提示,提高编码效率
    app.name = @"Jack";
    NSString *name = app.name;
    
  • 字典转模型
    • 字典转模型的过程最好封装在模型内部
    • 模型应该提供一个可以传入字典参数的构造方法
  - (instancetype)initWithDict:(NSDictionary *)dict;
  + (instancetype)xxxWithDict:(NSDictionary *)dict;
instancetype类型
  • instancetype在类型表示上,跟id一样,可以表示任何对象类型
  • instancetype只能用在返回值类型上,不能像id一样用在参数类型上
  • instancetypeid多一个好处:编译器会检测instancetype的真实类型,减少出错几率

相关文章

  • 有哪些主要的软件生存期模型

    生存期模型主要有:瀑布模型、原型开发模型(快速原型模型、演化模型、增量模型)、螺旋模型、喷泉模型、基于知识的模型和...

  • 【原创】产品生命周期模型

    产品生命周期模型有:瀑布模型、快速原型模型、迭代模型、螺旋模型、W模型、V模型。 瀑布模型(Waterfall M...

  • 三阶段day18-flask

    flask模型 模型定义 模型迁移及增删改 模型查看 模型分页

  • 敏捷开发(适合产品经理看)

    在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD模型...

  • Swift 字典转模型

    这里探讨字典转模型中模型的类型单一模型模型嵌套 (模型中包含模型 || 模型中包含模型数组) Swfit的字典转模...

  • 一些常见模型类型与分类的初步讨论

    提要:讨论了一些常见的模型类型,例如比例模型或实物模型、物理模型、数学模型、理论模型,以及图像作为模型、描述性模型...

  • 几种软件模型的比较

    几种软件模型 瀑布模型 快速原型模型 螺旋模型 增量模型 统一过程模型 RUP 瀑布 快速模型的区别 RUP 瀑布...

  • 框架_Django_2

    Django模型(MTV_Model) 什么是模型 配置数据 模型开发 模型属性 模型查询 字段查询 模型成员 模...

  • 23.1 信息系统综合测试与管理

    软件测试模型 软件测试模型总表 1. V模型 V模型及优缺点 2. W模型 W模型及优缺点 3. H模型 H模型及...

  • 软件测试的五种模型

    1,传统的瀑布模型 瀑布模型的优缺点 2,V模型 3,W模型 4,X模型 5,H模型

网友评论

      本文标题:模型

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