У меня есть метод со следующей подписью:Получить объект аргумента массив из NSInvocation с ARC
- (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];
Я могу иметь массив п Int объектов, поэтому я не должен жёстко 2. Как определить, размер массива объектов во время выполнения? Нужно ли мне иметь значение счетчика в массиве для определения границ?
2. Является ли квалификатор __strong правильным как для входного параметра, так и для параметра блока? Обратите внимание, что блок является асинхронным и будет выполняться позднее.
Почему вы не используете NSArray? – michaels
Яркий вопрос, но я хочу, чтобы API выражал, что он ожидает массив объектов MyInt. NSArray позволит кому-то проходить в любых объектах. – pshah
Я все еще могу передать любые объекты. просто используйте NSArray, чтобы сделать вашу жизнь легкой. –