zoukankan      html  css  js  c++  java
  • Xcode开发--运行时runtime

    运行时(runtime)

    什么是运行时?

    • 运行时是苹果提供的纯C语言的开发库

    运行时的作用

    • 能获得某个类的所有成员变量
    • 能获得某个类的所有属性
    • 能获得某个类的所有方法
    • 交换方法实现
    • 能动态添加一个成员变量
    • 能动态添加一个属性
    • 能动态添加一个方法

    运行时实例

    应用1:打印某个类的所有成员变量(实例变量)--class_ copy_IvarList()

    函数说明:

    • 需要添加#import < objc/runtime.h >
    • I -> Instance->实例变量即成员变量
    • var ->variable->变量
    • 如果函数名中包含了copy ew etaincreate 那么这个函数返回的数据就需要手动释放
    #import <objc/runtime.h>
    
    - (void)example
    {
    	 //成员变量的数量
            unsigned int outCount = 0;
            
            //获得所有的成员变量
            //ivas是一个指向成员变量的指针
            //默认指向第0个成员变量(最前面)
            Ivar *ivars =  class_copyIvarList([UITextField class], &outCount);
            
            //一个Ivar就代表一个成员变量(Instancec variable)
            //遍历所有的成员变量
            for (int i = 0; i < outCount; i++) {
                //取出i位置对应的成员变量
                Ivar ivar = *(ivars + i); //==ivars[i]
                //C语言允许,指向第0个成员变量的指针可以用数组方式访问
                //Ivar ivar = ivars[i];
                //获得成员变量的名字
                NSLog(@"%s",ivar_getName(ivar));
            }
            
            //如果函数名中包含了copy
    ew
    etaincreate 那么这个函数返回的数据就需要手动释放
            free(ivars);
    }
    
    
    
  • 相关阅读:
    express中 使用session与cookie
    mongoDB
    原生 js 实现 vue 的某些功能
    linux系统
    nodejs 程序(有的功能和前端js是不一样的)
    内网穿透技术
    webview
    PWA 应用
    计算机 和 互联网 知识
    css 图片 和 文本 的处理
  • 原文地址:https://www.cnblogs.com/KrystalNa/p/4796626.html
Copyright © 2011-2022 走看看