runtime

1.ios新特性

常见关键字:
             1.当新出了关键字时,学会如何使用:修饰属性,方法参数,方法返回值

             2.关键字的好处,注意点:提高程序员规范,知道如何赋值了,只能用于声明对象,不能声明基本类型
泛型

             1.泛型的使用场景,格式:声明对象属性不确定,创建对象属性才确定时使用,放在类型的后面,表示限制类型.

             2.好处:可以用点语法,提高程序员开发规范

             3.协变,逆变:用于转换类型
__kindof
             1.什么意思,有什么用途:相当于的意思表示某个类或他的子类,让外界调用可以看到创建的是什么对象而不报警告
 
2. Runtime(简称运行机制)(主要的是消息机制)

消息机制
             1.runtime运行条件:必须要导入一个头文件#import \,进入工程 -> Build Settting -> msg -> No(不严格检测发送消息的调用)

             2.本质,使用场景,使用方法:让对象发送消息,可以调用没有暴露出来的方法,objc_msgSend([上一个消息], @selector(发送消息))也可以传多个参数

            *3.调用类方法的底层实现原理:isa指针—>拿到方法编号到方法列表—>找到方法名(函数入口)
交换方法
             1.使用场合:比如一个项目多年,现在要给一个系统属性在不改变名字的情况下添加一个方法(添加一个图片提醒功能)

             2.如何交换:添加一个自定义的图片方法添加所要加的属性在添加图片分类:同过load加载,拿到系统图片类方法a1在拿到自定义的图片方法a2在交换一下
动态添加方法
             1.什么是动态添加:用到的时候才添加方法,不一开始就加载

            *2.有没有使用过performSelector,什么时候用过:动态添加方法调用

             3.如何动态添加:判断有没有实现,没有就添加,传递参数的添加,调用了一个不存在的方法就会调用

             4.resolveIns调用时刻:调用了一个不存在的方法就会调用

@动态添加属性
              1.什么是动态添加属性:给系统类添加额外的属性比如name属性,产生关联
字典转模型kvc(练一下)
               1.有什么用处,怎么使用:提取给类方便调用属性,方便给plist文件声明,解析完后的字典调用封装了属性的类方法
  字典转模型(1.2)底层实现原理
               1.原理:遍历模型中所有成员变量 去 字典中取对应的value,给模型成员变量赋值

 

posted @ 2016-01-12 19:32  谢云  阅读(151)  评论(0编辑  收藏  举报