2012-05-13 7 views
0

との接続:私はこのコードを使用していNSURLRequest

NSString *recievedData; 

NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.site.com/"] 
              cachePolicy:NSURLRequestUseProtocolCachePolicy 
             timeoutInterval:60.0]; 
// create the connection with the request 
// and start loading the data 
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 
if (theConnection) { 
    // Create the NSMutableData to hold the received data. 
    // receivedData is an instance variable declared elsewhere. 
    recievedData = [NSMutableData data]; 

    NSLog(@"%@", recievedData); 
} else { 
    // Inform the user that the connection failed. 
    NSLog(@"Unsuccessful."); 
} 

それはthisの修正版です。

私の問題は、それは常に私がインターネットに接続されてるかどうか、それは常に成功に行くかどうか

<>

を返すということです。

答えて

0

データを受信して​​おらず、受信したデータを保持するオブジェクトをインスタンス化したばかりです。応答と失敗を処理するためのデリゲートメソッドを実装する必要があります。通常、NSURLConnectionは非同期で使用することをお勧めします。

いくつかのコード例がありますUsing NSURLConnection

0

NSURLConnectionはこのように動作しません。接続を開始し、データが受信されるとコールバックを受信します。

リモートデータを取得する簡単な呼び出しが必要な場合は、NSDataのdataWithContentsOfURLメソッドを使用します。ただし、セカンダリスレッドでのみ使用する必要があります。そうしないと、呼び出し中にユーザーインターフェイスがロックされ、システムが長時間かかるとアプリケーションが終了する可能性があるためです。

NSURLConnection exampleで完全なコードを参照してください。

関連する問題