runtime 能用在那些地方

Cruise_Chan
  • 726

请问runtime特性用在哪些地方是实实在在的而不是装逼?
个人觉得AOP算一个~

回复
阅读 3k
9 个回答

类别添加属性,需要用runtime,不知道属不属于实实在在的。。。

alan_yeh
  • 3
新手上路,请多包涵

数据库,json解析,hot fix,hack(如果是自己的应用就没什么所谓的hack了)

当你要写一个json转model的工具时肯定需要,参考YYModel
当调用系统的方法时会调用分类的中的方法可以使用Method Swizzling
当你脑洞很大的时候肯定需要,不过用多了可读性会变差

1.methodSwizzing
2.为category添加属性(关联模式)
3.最重要的是可以帮你理解Objective-C的动态特性,写代码是少入坑。

DirkChen
  • 2
新手上路,请多包涵

1.为分类添加属性
2.methodSwizzing
3.hock某个方法
4.遍历成员变量、方法
更多用法,这篇写得很不错
[iOS
Objective-C Runtime 1小时入门教程
][1]

Runtime很好玩的。利用Runtime可以动态拿到某个类的所有属性,那么在实现序列化协议的时候就可以采取Runtime的方法来动态实现(虽然这样其实并不好)。
前阵子重构了项目的Model层,之前是每个Model手写一张表,然后存到数据库中。然后重构后就是利用Runtime获取类中属性,然后动态生成SQL语句,全自动化了~

在你不知道别人用的私有方法时候用的到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏