zoukankan      html  css  js  c++  java
  • iOS 进阶 第二十二天(0603)

    0603 block运行时

    block

    block的本质是一个指向结构体的指针.


    运行时

    要分析clang命令反编译出来的c++代码,就要把一些小括号删掉来分析.因为这些小括号一般都是类型强转.

    oc底层runtime是通过objec_msgSend这种消息派发机制给一个对象发送消息调用指定的方法的.如下图:

    我用过运行时的东西来写代码,如下示例:

    1、通过runtime底层代码的方式给一个对象的成员变量赋值,代码如下图:

    2、分类扩充成员变量

    本来分类是不能扩充成员变量的,但通过运行时的方法就能扩充成员变量,代码如下图:


    C#中的反射,可以获取一个对象包含成员变量名称和类型及其所能调用的方法.这个在oc的运行时runtime底层中一样可以实现,如下图所示:


    block,下面的一些解释一定要注意

  • 相关阅读:
    12 go实现几中基本排序算法
    5 控制语句
    9 函数
    4. 常量与运算符
    AI
    AI
    AI
    AI
    ML
    ML
  • 原文地址:https://www.cnblogs.com/lyandy/p/5116956.html
Copyright © 2011-2022 走看看