0

- (void)connectionDidFinishLoading:(NSURLConnection *)connectionパラメータは 1 つだけです。

繋がり。

ただし、リソースによって返されるデータが何であるかを伝えることができる接続のメンバーは見当たりません。

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSURLConnectionを確認 しました

sendSynchronousRequest:returningResponse:error: を実行すると、何かが返されます。

  NSData * response= [NSURLConnection sendSynchronousRequest:URLRequest returningResponse:&URLResponse error:&error];
    NSString * result = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];

ここで、結果は実際に返されたものです。

しかし、このリクエストを非同期で送信するとどうなるでしょうか?

4

1 に答える 1

3

その 1 つ以上のコールバックを実装する必要があります (非同期呼び出しの場合)。

didReceiveDataでバッファを構築し、終了したイベントでバッファを使用できます。

そのようです:

// in .h NSMutableData *_data;    

-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response
{
    _data = [[NSMutableData alloc] init]; // _data being an ivar
}

-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
    [_data appendData:data];
}

-(void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
{
    // handle connection error
}

-(void)connectionDidFinishLoading:(NSURLConnection*)connection
{
    // do something with _data


}
于 2013-02-25T09:02:41.010 に答える