Отправка «NSError *const __strong *» в параметр типа «NSError *__autoreleasing *» изменяет свойства сохранения/освобождеIOS

Программируем под IOS
Гость
Отправка «NSError *const __strong *» в параметр типа «NSError *__autoreleasing *» изменяет свойства сохранения/освобожде

Сообщение Гость »


Этот вопрос похож на типы NSError для iOS, но описанное там решение не сработало, и я считаю, что это не совсем то, что мне нужно.

У меня есть метод, который выполняет асинхронный вызов, а затем вызывает блок завершения. Когда я пытаюсь передать NSError ** в блок завершения, я получаю следующую ошибку:


Отправка «NSError *const __strong *» в параметр типа 'NSError
*__autoreleasing *' изменяет свойства сохранения/освобождения указателя


Код выглядит следующим образом:< /p>

Код: Выделить всё

+(void) agentWithGUID:(NSString *) guid completion:(void (^)(AKAgentProfile * agentProfile, NSError ** error)) completionBlock
{
dispatch_queue_t requestQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(requestQueue, ^{
NSString * parameterizedUrl = [AKAgentProfileEndPoint stringByAppendingString:guid];
NSURL *url = [NSURL URLWithString:parameterizedUrl];
NSData *data = [NSData dataWithContentsOfURL:url];

NSError * error = nil;

AKAgentProfile * agentProfile = [[[AKAgentFactory alloc] init] agentProfileWithData:data error:&error];

dispatch_async(dispatch_get_main_queue(), ^{
completionBlock(agentProfile,&error);
});

});
}


Источник: https://stackoverflow.com/questions/277 ... utoreleasi

Вернуться в «IOS»