消息转发的第一步-动态方法解析

来源:5-7 动态添加方法相关面试问题

慕UI9212626

2018-04-26

第一步可以通过动态添加方法来添加方法,我看书上说这种情况常用来实现@dynamic属性。那么问题又来了,dynamic属性(不自动生成实例变量、get、set方法)什么情况会用到呢,有点想不通,干嘛放着现成的get、set方法不用,而用这种方式去重写呢?

其实,我相当于问了两个问题:

  1. 动态方法解析使用场景(最好举个例子,更好的理解)

  2. @dynamic这个属性有什么用,什么情况会用这种方式呢

问的比较多,辛苦老师解答一下,多谢!

写回答

1回答

于海

2018-04-26

例子的话,比如说我们定义的一个全局数据中心,里面有很多属性,如果每次进行设置既要写内存又要写userdefault会不会很麻烦呢,如果通过dynamic的方式会大大缩减代码量 同时具备一定的扩展性 比如后续再添加一些属性

0
2
于海
回复
慕UI9212626
思想是对的 有一个地方需要纠正下 不是实现一个userdefault 而是定义一个usercenter类 以成员变量的方式持有userdefault
2018-04-29
共2条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1750 学习 · 600 问题

查看课程