我不确定这是否可行,但在 ruby 中,您可以使用 send 动态调用方法
例如如果我想调用对象 foo 的 bar 方法,我可以使用
foo.send("bar")
有什么方法可以使用 objective-c 做类似的事情吗?
谢谢!
最佳答案
据我所知,有几种选择
- 您可以使用 NSObject 的
performSelector:
方法。然而,这只对参数很少或没有参数的方法非常有用。 - 使用NSInvocation类(class)。这有点重,但更灵活。
- 您也许可以使用
objc_msgSend()
,但直接调用它可能不是一个好主意,因为运行时可能会在幕后执行其他操作。
关于iphone - 是否有 objective-c "equivalent"到 ruby 的发送方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651631/