NSURLConnection没有调用连接:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:

时间:2012-11-21 11:45:25

标签: ios nsurlconnection

这是我的代码

theDownloadConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

它正在调用这些NSURLConnection委托方法

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;

- (void)connectionDidFinishLoading:(NSURLConnection *)connection;

但它没有打电话

- (void)connection:(NSURLConnection *)connection   didSendBodyData:(NSInteger)bytesWritten
                                                 totalBytesWritten:(NSInteger)totalBytesWritten
                                         totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;

这个NSURLConnection方法在我这样做时委托调用

[NSURLConnection connectionWithRequest:request delegate:self];

我不明白为什么会这样?

2 个答案:

答案 0 :(得分:2)

仅当请求的主体包含POST请求中的消息数据时,才会调用

didSendBodyData。你最有可能执行GET。

来自apple docs:

  

连接:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:   作为请求的主体(消息数据)发送(例如   在http POST请求中。)

答案 1 :(得分:-1)

那是因为它在 NSURLConnectionDataDelegate 中定义并且您正在设置 NSURLConnection 委派。