class_copyPropertyList\class_copyIvarList
class_copyPropertyList返回的仅仅是对象类的属性(@property申明的属性),而class_copyIvarList返回类的所有属性和变量(包括在@interface大括号中声明的变量),下面做个简单的测试。首先,定义一个WFrequencyManager类
文章图片
然后在测试类中写一个测试函数testProperties调用上述两个函数得到其返回结果再分别依次遍历输出其返回值
文章图片
【class_copyPropertyList\class_copyIvarList】执行上述测试函数后在控制台输出结果为:
文章图片
从上述执行结果可以很好的说明前者只获取由@property声明的属性,而后者不但获取了@property属性,而且还获取了@interface大括号中声明的变量
推荐阅读
- 136.|136. Single Number
- 【Tomcat源码阅读分享】—(5)Tomcat中的ClassLoader
- 如何理解es6中的class,以及class中的constructor函数
- 关于|关于 java.lang.NoClassDefFoundError: com.umeng.analytics.d的问题
- Panda|Panda Class 中班生活之开学Day3.
- objc_class|objc_class 中 cache 原理分析
- 数据结构|C++技巧(用class类实现链表)
- 416.|416. 分割等和子集
- python12——包装标准类
- python(父类与子类的继承)