次の問題があります。
NSInvocation オブジェクトのそれぞれの引数としてループして内容を設定する必要がある値の NSArray があります。次のコードを検討してください。
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
呼び出しオブジェクトは動的 (ターゲット/セレクターと引数の両方) であるため、それぞれの invocationObj の引数を設定しているときに、args 配列の内容がわかりません。これを達成する方法はありますか?