iOS-Main-运行时-获取对象的属性数组

简单介绍一下Runtime-运行时:

  • 运行时是一种面向对象的编程语言的运行环境,类似于java的虚拟机
  • OC最主要的特点就是在程序运行时,以发送消息的方式调用该方法
  • 运行时是OC的核心,Objective-C即使基于运行时的
  • 参考文档:http://nshipster.cn/swift-objc-runtime/

利用clang生成中间代码

  • 进入终端
  • 输入以下命令:
    $ clang -rewrite-objc main.m
  • 可以将OC代码重写成C++代码

导图:

底层OC

使用场景

运行时获取对象的属性数组

  1. 创建项目,设置类Person并声明属性age,name,如下图:


    创建项目
  1. 创建一个继承于NSObject的分类Runtime。并导入运行时的头文件。并声明方法,如下图:


    导入运行时的头文件并声明方法

    上述,运行时的头文件应该导入到.m中。

  2. 实现分类的方法
    测试
    1

    2

    3

    根据运行时,我们可以获取继承于NSObject调用,该方法的类,属性值有两个。
    假如,改成三个:
    改成三个

    问题:
    我们看见copy,就要释放,看下图:
    必须释放
  3. 获取属性名称
    具体步骤,请看下图:
    改正

    打印结果

    这样已经可以动态的获取了属性的名称
    验证:
    验证:

    5)实现目标
    再来看我们的目标-获得一个属性的数组。

    完成

    整体逻辑
    整体逻辑
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容