第一次接触runtime,先介绍下自学的几个runtime方法

1.获取类的属性列表

先导入runtime文件

#import <objc/runtime.h>

 

我这边创建了一个Person的类,然后在UIViewController中

 

终端打印结果

 

是不是感觉很简单,哈哈

2.runtime交换方法

我这边创建了一个UIImage的category,#import  <objc/message.h>创建一个交换的方法,重写类别的load方法,交换原有的imageNamed方法,.h中不需要增加方法:motifyImageWithName:

 

viewDidLoad中直接创建一个UIImageView的窗口

 

终端打印结果:

 

3.动态添加方法

直接在Person.m文件中添加方法

 

viewDidLoad中

 

终端打印:

 

4.动态添加属性

来到这里你会发现imageV.image.name=@"毛毛虫";是怎么来的

在image类别.h文件中添加一个name的属性

.m中重写name的set,get方法

最新文章

  1. spring boot properties
  2. Codeigniter MongoDB类库
  3. Linux高级使用功能
  4. hdu 4762 Cut the Cake (大数乘法)
  5. 四.CSS声明
  6. log4net 动态设定日志文件名
  7. 教你看懂邮件头信息&lt;转载&gt;
  8. 使用DataSet Datatable 更新数据库的三种方式
  9. [转] What is Ec/Io (and Eb/No)?
  10. lfcp——PB使用
  11. ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续
  12. 【LeetCode每天一题】Spiral Matrix II(螺旋数组II)
  13. [LeetCode] 231. Power of Two ☆(是否2 的幂)
  14. Python基础7 面向对象编程进阶
  15. Java读取txt文件信息并操作。
  16. Google发布移动网站设计原则
  17. SpringCloud-服务注册与发现
  18. 【UOJ#169】元旦老人与数列
  19. atn 编译java提示资源不足
  20. type属性对jq-post在ie、chrome、ff的兼容

热门文章

  1. python用ffmpeg进行视频处理
  2. 『现学现忘』Git分支 — 41、分支基本操作(二)
  3. Java多线程(4):ThreadLocal
  4. 三十一、kubernetes网络介绍
  5. 论文笔记 - An Explanation of In-context Learning as Implicit Bayesian Inference
  6. uniapp/微信小程序 项目day03
  7. ABAP 调用HTTP上传附件
  8. Https Webservice接口的免证书调用
  9. nginx日志切割并备份
  10. go如何编写命令行(cli)程序