iphone - 是否有 objective-c "equivalent"到 ruby​​ 的发送方法?

标签 iphone objective-c ruby

我不确定这是否可行,但在 ruby​​ 中,您可以使用 send 动态调用方法

例如如果我想调用对象 foobar 方法,我可以使用

foo.send("bar")

有什么方法可以使用 objective-c 做类似的事情吗?

谢谢!

最佳答案

据我所知,有几种选择

  1. 您可以使用 NSObject 的 performSelector:方法。然而,这只对参数很少或没有参数的方法非常有用。
  2. 使用NSInvocation类(class)。这有点重,但更灵活。
  3. 您也许可以使用 objc_msgSend() ,但直接调用它可能不是一个好主意,因为运行时可能会在幕后执行其他操作。

关于iphone - 是否有 objective-c "equivalent"到 ruby​​ 的发送方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651631/

相关文章:

iphone - 如何在 Objective-C 中的另一个方法中调用一个方法

iphone - cocoa - 如果双倍失败?

objective-c - 将 NSString 转换为 char 问题

ios - AVPlayer - 播放时切换流质量

objective-c - 以编程方式添加搜索文本框作为 Cocoa 中的菜单项

ios - Modal UITableView 无法识别第一次点击

ruby - 将 Cucumber 与模块化 Sinatra 应用程序一起使用

ios - 我们应该使用哪个 pod 而不是 GoogleAnalytics-iOS-SDK?

ruby - 如何在不出现 'undefined method' 错误的情况下访问数组深处的元素

ruby-on-rails - 我如何在 haml 中执行内联 if 语句