サーバーから UTF8 でエンコードされた HTML を取得しています。(この特定のケースでは、リクエストを行うたびに 763 バイトが返されていることがわかります。)
次に、これらのバイトを +[NSString stringWithUTF8String] に渡すと、約 90% の確率で、サーバー上のファイルの HTML とまったく同じように見える結果の文字列が得られます。10% の確率でゼロになります。
これが矛盾する理由はまったくありません。NSURLConnection によってサーバーから読み取られるバイトは、毎回同じです。
誰にもアイデアはありますか?コードは次のとおりです。
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:url] queue:customTableOperationQueue
completionHandler: ^(NSURLResponse* response, NSData* data, NSError* error)
{
if (! error)
{
NSString* newTableHTML = [NSString stringWithUTF8String:data.bytes];
NSLog(@"data.length = %d, newTableHTML.length = %d", data.length, newTableHTML.length);
self.tableHTML = newTableHTML;
}
else
{
self.tableHTML = nil;
self.errorMessage = error.localizedDescription;
}
}
];