3

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

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

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

有人请帮忙!

谢谢!

4

1 回答 1

7

对于编译器,aResponse和 的结果[aResponse retain]是一个 NSURLResponse。不过我猜response是一个 NSHTTPURLResponse。由于 NSURLResponse 是 NSHTTPURLResponse 的超类,你不能直接赋值——但你可以使用强制转换来移除警告:

response = (NSHTTPURLResponse *)[aResponse retain];
于 2011-08-09T23:07:24.877 回答