zoukankan      html  css  js  c++  java
  • 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,给模型成员变量赋值

  • 相关阅读:
    如何确定Kafka的分区数、key和consumer线程数
    Storm程序永久代内存溢出
    JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配
    Git添加本地项目出现fatal: unable to get credential storage lock: File exists
    Kafka的通讯协议
    文件上传 数据对比
    jquery 弹出层
    XSS 简单理解之:AntiSamy
    XSS 简单理解
    超人说我最叼蝙蝠侠笑了 超级英雄战力排名
  • 原文地址:https://www.cnblogs.com/xieyunqq/p/5125405.html
Copyright © 2011-2022 走看看