请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

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

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

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

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

正在回答 回答被采纳积分+3

插入代码

1回答

于海 2018-04-26 14:02:21

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

0 回复 有任何疑惑可以回复我~
  • 提问者 慕UI9212626 #1
    老师你的意思是说,比如实现一个NSUserDefaults的类对吗。然后在设置每个属性的时候,因为需要写到disk中数据持久化,如果不用dynamic属性,则每个set方法中都需要加一段写入disk磁盘中的代码,而如果使用dynamic,我们统一处理,只需要写一个set方法,在这一个方法中执行写disk的操作。我这么理解对吗?
    回复 有任何疑惑可以回复我~ 2018-04-28 21:49:02
  • 于海 回复 提问者 慕UI9212626 #2
    思想是对的 有一个地方需要纠正下  不是实现一个userdefault 而是定义一个usercenter类 以成员变量的方式持有userdefault
    回复 有任何疑惑可以回复我~ 2018-04-29 10:21:35
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号