OC的动态方法调用带来的超大便利

来源:互联网 发布:小仙有毒 知乎 编辑:程序博客网 时间:2024/05/02 07:31

游戏中往往商店Layer回在主菜单层,主游戏层中出现,并且在购买了一些东西后,会影响他的父层.

这时只要简单的在两种父层中实现用一个名字的方法,如moneyShake, 然后直接在商店里调用即可, 不用import任何父类,也无需保持指针.

[self.parent moneyShake];

虽然这样写运行中不会出什么问题, 但是编译器会给出警告, 因为商店不知道其父可以响应moneyShake.修改为下面的写法就没有警告了.显式的表明我们在反射.

[self.parent performSelector:NSSelectorFromString(@"moneyShake")];

虽然以前就用过这种方法,但是最近在做的游戏出现了大量的这种情形,通过这种方法减少大量的代码(相对于强类型语言),爽.

原创粉丝点击