从'NSURLResponse *'分配给'NSHTTPURLResponse *'的指针类型不兼容

时间:2011-08-09 23:04:33

标签: ios warnings sharekit incompatibility

我收到警告不兼容的指针类型,在下面的代码中从'NSURLResponse *'分配给'NSHTTPURLResponse *'。此方法是Sharekit的一部分。

带警告的行是粗体/斜体:

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

有人请帮忙!

谢谢!

1 个答案:

答案 0 :(得分:7)

对于编译器,aResponse[aResponse retain]的结果是NSURLResponse。但我猜response是NSHTTPURLResponse。由于NSURLResponse是NSHTTPURLResponse的超类,您不能直接分配 - 但您可以使用强制转换来删除警告:

response = (NSHTTPURLResponse *)[aResponse retain];