【发布时间】:2013-12-24 11:31:48
【问题描述】:
我有一个数组,其中包含我要调用的方法的所有参数。如何使用数组中的参数运行该方法。
假设我的方法是:-(void)myFunction:(id)sender arg1:(id)arg1 arg2:(id)arg2
我的数组可能有:self, @"myfirst obj", somevar, nil
我想用我的数组中的参数调用myFunction:arg1:arg2:。
我怎样才能做到这一点?
数组大小也可能会改变,因为方法会改变,因为我将代码注入应用程序,所以我无法重命名方法。
注意:我无法更改方法名称
还要注意我的数组项的计数和类型发生了变化。
【问题讨论】:
-
你想要一个可变参数方法吗?或者只是其中一个参数是一个数组?
-
如果调用相同的方法,数组大小如何变化?它需要特定数量的参数。你能举个例子说明你是怎么称呼它的,为什么
[self myFunction:array[0] arg1:array[1] arg2:array[2]]不起作用? -
@Rob Napier 这行不通,因为我的方法不同。
-
@Grady Player 两者都不是。重新阅读问题,我做了一些修改。
标签: objective-c macos methods arguments nsarray