次のシグネチャを持つメソッドがあります。
- (void)takeIntsAndRecieveIntsAsync:(MyInt *__strong [])
completion:(void (^)(MyInt * __strong response[]))success;
いくつか質問がありました:
1. このメソッドで NSInvocation を使用して引数を取得するにはどうすればよいですか?
- (void)forwardInvocation:(NSInvocation *)invocation
次のことを試しましたが、正しい値が得られません。
__unsafe_unretained MyInt *a[2];
[invocation getArgument:(void *) &a atIndex:index];
n 個の int オブジェクトの配列を持つことができるので、ハードコードするべきではありません 2. 実行時にオブジェクト配列のサイズを決定するにはどうすればよいですか? 境界を決定するために、配列にセンチネル値が必要ですか?
2. __strong 修飾子は、入力パラメーターとブロック パラメーターの両方に対して正しいですか? ブロックは非同期であり、後で実行されることに注意してください。