В среде ARC у меня есть следующий код:
NSInvocation* invocation = [NSInvocation invocationWithMethodSignature:signature];
[invocation setTarget:delegate];
[invocation setSelector:@selector(restClient:loadedFile:contentType:eTag:)];
// Error Here!
[invocation setArgument:&self atIndex:2];
[invocation setArgument:&filename atIndex:3];
[invocation setArgument:&contentType atIndex:4];
[invocation setArgument:&eTag atIndex:5];
Установка аргумента в индекс 2 ( & self
) вызывает следующую ошибку компилятора:
Отправка * const __strong * параметру типа void * изменяет свойства сохранения / освобождения
Я понятия не имею, как это исправить, сохранив действующий код. На данный момент я просто придерживаюсь NULL
и помещаю оператор invoke в блок try / catch, но это далеко не идеальное решение.
С помощью этой строки кода (из библиотеки MPOAuth)
status = SecItemCopyMatching((__bridge CFDictionaryRef)searchDictionary, (CFTypeRef *)&attributesDictionary);
я получаю следующее error
Преобразование косвенного указателя на указатель Objective-C в 'CFTypeRef ' (также известное как 'const void * ') запрещено с помощью ARC