美文网首页自定义控件
基础语法、模型、自定义控件

基础语法、模型、自定义控件

作者: 爱霉霉 | 来源:发表于2015-06-24 22:01 被阅读25次

    模型

    • 概念
      • 专门用来存放数据的对象
    • 特点
      • 一般直接继承自NSObject
      • 在.h文件中声明一些用来存放数据的属性
    • 模型定义示例
    @interface Shop : NSObject
    /** 名字 */
    @property (nonatomic, strong) NSString *name;
    /** 图标 */
    @property (nonatomic, strong) NSString *icon;
    @end
    
    • 字典转模型示例
    Shop *shop = [[Shop alloc] init];
    shop.name = dict[@"name"];
    shop.icon = dict[@"icon"];
    

    注释

    // 单行注释
    /* */ 多行注释
    /** */ 文档注释
    

    @property的使用策略

    • assign
      • 基本数据类型枚举结构体等非OC对象类型
    • weak
      • OC对象类型(比如NSArray、NSDate、NSNumber、模型类)
    • strong
      • OC对象类型(比如NSArray、NSDate、NSNumber、模型类)
      • 一个对象只要有强指针引用着,就不会被销毁
    • copy
      • 一般用在NSStringblock类型上

    通过纯代码自定义控件

    • 继承自系统自带的控件,写一个属于自己的控件
    • 目的:封装控件内部的细节,不让外界关心
    • 步骤
      • 新建一个继承UIView的类
      • initWithFrame:方法中添加子控件
      • layoutSubviews方法中设置子控件的frame
        • 一定要调用[super layoutSubviews];
      • 提供一个模型属性,重写模型属性的set方法
        • 在set方法中取出模型属性,给对应的子控件赋值

    通过xib自定义控件

    • 新建一个继承UIView的类
    • 新建一个xib文件(xib的文件名最好跟控件类名一样)
      • 添加子控件、设置子控件属性
      • 修改最外面那个控件的class为控件类名
      • 将子控件进行连线
    • 提供模型属性,重写模型的set方法
      • 在set方法中给子控件设置数据

    相关文章

      网友评论

        本文标题:基础语法、模型、自定义控件

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