以下のコードを考慮して、UI のフリーズを止めるためにアプリを同期呼び出しから非同期呼び出しに移動しました。-- いくつかの細かい点を除いて、すべて正常に動作します。
同期呼び出しの場合は、常に値が返されました (長い時間 (5 または 6 秒) かかった場合でも)。ただし、現在:
ASync 呼び出しは非常に高速な場合もあれば、8 秒または 9 秒かかる場合もあります (ファイバー インターネットも使用しています)。
フェッチしているテキスト データが返されないか、myLabel テキストが「NULL」に設定されてタイムアウトになることがあります。常に Sync の値を返すため、API を使用している Web サイトではないことはわかっています。呼び出しとブラウザで。
何か案は?ありがとう!
編集: ログからのエラー応答は: 応答: エラー: (null)
[NSURLConnection sendAsynchronousRequest:requestGBP queue:operationQueue completionHandler: ^(NSURLResponse* response, NSData* data, NSError* error)
{
responseGBP = data;
NSString *json_stringGBP = [[NSString alloc] initWithData:responseGBP encoding:NSASCIIStringEncoding];
self.feedGBP = [parser objectWithString:json_stringGBP error:nil];
NSString *GBP = [NSString stringWithFormat:@"Info Last: %@" feedGBP ObjectForKey:@"value"]];
[myLabel setText:GBP];
}];
編集::ログウィンドウに「ここに到達できないはずです」というメッセージもたくさん表示されますか?! それは私の NSLog コードの一部ではありません!