美文网首页
获取类的私有属性

获取类的私有属性

作者: 耽于幽夜 | 来源:发表于2018-04-08 10:50 被阅读0次

有些时候想要自定义类的一些格式,可是类的相关属性是私有的;这时候就要yongKVC来进行相应的操作;于是就要先知道相关类的属性列表

于是乎:

unsigned int count;// 记录属性个数

    objc_property_t *properties = class_copyPropertyList([UIAlertAction class], &count);

    // 遍历

    NSMutableArray *propertiesArray = [NSMutableArray array];

    for (int i = 0; i < count; i++) {

        // objc_property_t 属性类型

        objc_property_t property = properties[i];

        // 获取属性的名称 C语言字符串

        const char *cName = property_getName(property);

        // 转换为Objective C 字符串

        NSString *name = [NSString stringWithCString:cName encoding:NSUTF8StringEncoding];

        [propertiesArray addObject:name];

    }

    free(properties);

    NSLog(@"propertiesArray == %@",propertiesArray);

    //获取成员变量列表

    NSMutableArray *ivarArray = [NSMutableArray array];

    Ivar *ivarList = class_copyIvarList([UIAlertAction class], &count);

    for (int i = 0; i < count; i++) {

        Ivar myIvar = ivarList[i];

        const char *ivarName = ivar_getName(myIvar);

        [ivarArray addObject:[NSString stringWithUTF8String:ivarName]];

    }

    free(ivarList);

    NSLog(@"ivarArray == %@",ivarArray);

相关文章

  • 20180214私有化

    setNum 更改类的私有属性getNum 获取类的私有属性 基类中设置的私有属性,无法被继承其的子类继承过去,只...

  • 获取类的私有属性

    有些时候想要自定义类的一些格式,可是类的相关属性是私有的;这时候就要yongKVC来进行相应的操作;于是就要先知道...

  • runtime 在逆向中的使用

    在逆向工程中,利用runtime可以动态获取类和属性,绑定属性,替换方法的实现。 KVC 可以通过直接获取类的私有...

  • iOS 打印类的私有属性

    我们可以通过runtime运行时机制,动态的获取并改变类的私有属性。so酷! 引入头文件 通过下面代码获取类的属性...

  • iOS-runtime使用总结

    关联 获取类名 获取属性列表(公有和私有) 获取成员变量 修改对象指针 方法交换(Method Swizzling...

  • Java System类

    System 类 获取系统属性 1.1 私有构造方法 1.2 System.out.println() 3 个类变...

  • 面向对象编程

    主要包括: 基本概念 属性私有化(类的封装) 实例属性与类属性 静态方法、类方法、与实例方法 继承与多态 获取对象...

  • iOS面试题收集(一)

    如何访问并修改一个类的私有属性? 1.通过KVC获取2.通过runtime访问并修改私有属性 iOS 的沙盒目录结...

  • 类的私有属性和私有方法

    当定义私有属性后,python将私有属性改了名字为 _类名+私有属性名

  • 2018-12-06

    类的属性-总结 类属性,也是公有属性 类的私有属性 对象的公有属性 对象的私有属性 内置属性 函数的局部变量 全局...

网友评论

      本文标题:获取类的私有属性

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