【发布时间】:2023-03-03 18:00:01
【问题描述】:
我有以下问题。
我有一个 NSArray 值,我需要循环并将其内容设置为 NSInvocation 对象的相应参数。考虑以下代码:
NSArray *args = @[@"test"];
稍后我想做类似的事情:
for ( i = 0; i < [args count]; i++)
{
[invocationObj setArgument: [args objectAtIndex: i] atIndex: i+2];
}
但这不起作用。它给出以下警告:
Implicit conversion of Objective-C pointer type 'id' to C pointer type 'void *' requires a bridged cast
调用对象是动态的(对于目标/选择器和 args),因此当我设置相应 invocationObj 的参数时,我不知道 args 数组的内容。有什么办法可以实现吗?
【问题讨论】:
-
您在调用调用之前设置参数。
-
你的问题到底是什么?
-
“不起作用”是什么意思?给出编译器错误?信号?例外?在分配或调用时?发送错误的论点?不发送消息?
-
检查
invocationObj不是nil。 -
你有什么异常吗??
标签: ios objective-c