美文网首页
修改私有变量的属性值

修改私有变量的属性值

作者: 我叫王可可 | 来源:发表于2017-01-05 10:39 被阅读0次

这里使用到Runtime来修改.m文件中的私有变量,下面附上代码

  Father *father = [Father new];
         //count记录变量的数量IVar是runtime声明的一个宏
        unsigned int count = 0;
         // 获取类的所有属性变量
        Ivar *members = class_copyIvarList([Father class], &count);
        for (int i = 0; i < count; i++) {
            Ivar ivar = members[i];
            //将IVar变量转换为字符串,这里获得了属性名
            const char *memberName = ivar_getName(ivar);
            NSLog(@"%s", memberName);
            Ivar m_name = members[0];
            //修改属性值
            object_setIvar(father, m_name, @"Zhangsan");
            //打印后发现Father中name的值变为Zhangsan
            NSLog(@"%@", [father description]);
  }
输出结果
_name
 name = Zhangsan

相关文章

  • 修改私有变量的属性值

    这里使用到Runtime来修改.m文件中的私有变量,下面附上代码

  • KVC探索

    KVC动态取值和设值访问和改变私有变量修改控件的内部属性 KVC(Key-value coding)键值编码,就是...

  • 2.KVC-KVO基本使用及底层探究

    基础使用 KVC的使用 简单赋值 复杂赋值 修改私有变量 模型和字典的互相转换 取出多个模型中的某个属性的值 你以...

  • Runtime修改属性(包括私有)-2021-02-23-周二

    私有属性 在类扩展中的私有属性,只有类自己改,其他类在外部是不能修改的。 输出内容如下:nickName的值为默认...

  • 38.1option.js

    1.改变值为变量,传入值属性名相同,数据修改在首次拿到数据出修改

  • 测试_获取私有属性列表/修改私有属性的值

    私有属性类 Person.m文件#import "Person.h" pragma mark -----修改私有属...

  • python下划线定义属性

    类的私有变量和私有方法 在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性 特殊变量命名 1、 ...

  • KVC的应用理解

    1、利用KVC可以修改只读/私有/公共等属性值(破坏封装性) 例:只读属性tabBar 2.setValue: f...

  • 获取控件私有属性并修改

    原理:利用runtime访问控件的私有属性,然后利用KVC修改私有属性

  • python 私有属性

    私有属性 python 中类里面定义的变量叫做类属性,类属性有两种公有属性和私有属性 属性的定义: 私有: 以单下...

网友评论

      本文标题:修改私有变量的属性值

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