-1

ここで、mywebpage から html を取得しようとしていますが、何かが間違っています。これが私のコードです。controller.h ファイルで html 文字列を宣言しました。

    [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *responde,NSData *Data,NSError *error){

            html=[[NSString alloc] initWithData:Data encoding:NSUTF8StringEncoding];
            //NSLog(@"%@",html);  //WORKING

        }];

  NSLog(@"%@",html); //NOT WORKING
4

2 に答える 2

3

__block NSString *htmlブロックの外側で使用します。

編集:

  __block NSString *html;   //please notice __block is with two underscores.

  [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *responde,NSData *Data,NSError *error){

        html=[[NSString alloc] initWithData:Data encoding:NSUTF8StringEncoding];
        //NSLog(@"%@",html);  

    }];

NSLog(@"%@",html);
于 2012-12-05T11:03:16.370 に答える
0

はい、完了ブロック内でのみアクセスする必要があります。コールバックは Web サービスからデータを受信した後にのみ「html」データを取得するためです。ブロックの外ではアクセスできません。

于 2012-12-05T10:19:24.070 に答える