【发布时间】:2011-06-05 13:44:33
【问题描述】:
我正在尝试将一种方法调用动态地转换为另一种方法调用(在运行时)。
例如,我想要以下内容:
[obj foo]
委托给:
[obj getAttribute: @"foo"]
(我想动态执行此操作,因为我不提前知道这些方法名称或属性将是什么)。
我看到有一个钩子:
- (id) forwardingTargetForSelector: (SEL) aSelector
这似乎只适用于委托,不过,我想将对象保持为“自我”并转换方法参数。
我应该在哪里寻找这种行为?在 obj-c 中甚至可能吗?
【问题讨论】:
-
这是一个如何实现它的工作示例:stackoverflow.com/a/19661059/171933
标签: iphone objective-c reflection dynamic delegation