美文网首页
随笔-汇总

随笔-汇总

作者: iOS打怪升级 | 来源:发表于2018-01-09 23:13 被阅读0次

    1. 你给我解析清楚,都有了CALayer了,为什么还要UIView??

    分层设计,各司其职,策略和机制分离,calayer 只负责绘图,其他不干,UIView 处理交互,变动较快。

    2.ios 中的 “位移枚举” :

    先看c 语言的枚举>

    typedef enum{  
        DirectionTypeUp,  
        DirectionTypeLeft,  
        DirectionTypeDown,  
        DirectionTypeRight  
    } DirectionType; 
    

    ios 的枚举:

    typedef NS_ENUM(NSInteger, UIViewAnimationTransition) {  
        UIViewAnimationTransitionNone,//默认从0开始  
        UIViewAnimationTransitionFlipFromLeft,  
        UIViewAnimationTransitionFlipFromRight,  
        UIViewAnimationTransitionCurlUp,  
        UIViewAnimationTransitionCurlDown,  
    };  
      
    typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {  
        UIViewAutoresizingNone                 = 0,  
        UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,    //表示1    :1左移0位
        UIViewAutoresizingFlexibleWidth        = 1 << 1,       // 表示2  :1左移1位
        UIViewAutoresizingFlexibleRightMargin  = 1 << 2,  // 表示4
        UIViewAutoresizingFlexibleTopMargin    = 1 << 3,  // 表示8
        UIViewAutoresizingFlexibleHeight       = 1 << 4,      //表示16
        UIViewAutoresizingFlexibleBottomMargin = 1 << 5   //表示32 
    }; 
    

    从c语言开始沿用过来的枚举,保留至今。iOS6和Mac OS 10.8以后引入了两个宏NS_OPTIONS 和NS_ENUM来定义枚举类型,本质上这个两个宏没有区别,只是从字面上区分用途。
    NS_OPTIONS :用来定义 位移枚举
    NS_ENUM: 用来定义 普通枚举

    3. 一个名词:方法签名

    方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。
    注意,方法签名不包括方法的返回类型。不包括返回值和访问修饰符

    注意:重载和重写。重写要求方法签名必须相同,返回值类型也相同,重载只要求方法签名相同;重写是覆盖,最终还是一个方法,调用的是子类的方法,重载是方法的扩展,是多个方法;@override 关键字可以让编译器自动检查是否重载的正确

    4.@dynamic关键字和@synthesize关键字是用来做什么的

    @synthesize 声明编译器需要自动合成属性的存取方法
    该关键字产生了两个影响,自动生成一个下划线开头的实例变量,另外自动生成了存取方法
    @dynamic 用来标明不需要在编译期去关心存取方法是否存在,而后会提供

    xcode 在迭代过程中已经默认合成了存取方法,@synthesize 不需要手动添加
    另外一个文章可以帮助理解

    相关文章

      网友评论

          本文标题:随笔-汇总

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