1

この方法は以前はうまく機能していましたが、現在、アプリがブロックされている場所は奇妙です。ステータスやsthが確認できません。なにか提案を?前もって感謝します。

4

3 に答える 3

2

synchronousそれがリクエストのアイデアです。非ブロッキング操作が必要な場合は、asynchronousリクエストを使用するかsynchronous、別のスレッド(メインスレッドではない)でを使用してください。さらに詳しい説明が必要な場合は、お気軽にお問い合わせください。

于 2012-05-02T10:45:39.607 に答える
1

同期リクエストまたはコアデータ操作を使用するときはいつでも。UIが停止するため、バックグラウンドスレッドで実行することを忘れないでください

[自己performSelectorInBackground:@selector(updateData)withObject:nil];

于 2012-05-02T10:54:43.983 に答える
1

非同期リクエストを送信する必要があります...UIには影響せず、バックグラウンドで実行されます。例えば:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];

このリクエストはバックグラウンドで実行され、データは以下で説明するデリゲートメソッドを使用して受信および処理できます。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection 

UIはメインスレッドで動作するため、UIがブロックされることはありません。

于 2012-05-02T11:55:49.957 に答える