У меня есть метод со следующей подписью:
- (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 как для входного параметра, так и для параметра блока? Обратите внимание, что блок является асинхронным и будет выполняться позже.