Несовместимые типы указателей, присваиваемые NSHTTPURLResponse * из NSURLResponse * - PullRequest
3 голосов
/ 10 августа 2011

Я получаю предупреждение о несовместимых типах указателей, присваивающихся NSHTTPURLResponse * из NSURLResponse * в приведенном ниже коде. Этот метод является частью Sharekit.

Строка с предупреждением выделена жирным шрифтом / курсивом:

    - (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse
{
    if (response)
        [response release];
    ***response = [aResponse retain];***
    [responseData setLength:0];
}

Кто-то, пожалуйста, помогите!

Спасибо!

1 Ответ

7 голосов
/ 10 августа 2011

Для компилятора aResponse и результат [aResponse retain] являются NSURLResponse.Тем не менее, я предполагаю, что response является NSHTTPURLResponse.Поскольку NSURLResponse является суперклассом NSHTTPURLResponse, вы не можете просто назначить напрямую - но вы можете использовать приведение для удаления предупреждения:

response = (NSHTTPURLResponse *)[aResponse retain];
...