同期情報に使用AFNetworkingしていて、申請時にサーバーに複数のリクエストが送信されることがわかりましたが、multithreadingリクエストステートメントは 1 つしか実行しません。
Xcode debuggerこの問題は、要求を追跡できないため、スニファ アプリケーションを使用して追跡できます。
また、インターネット接続が遅くなると、これが発生することに気付きました。
ここに私が実行するいくつかのコードがあります
同期を開始
- (void)SyncFull
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(FinishSyncFull:)
名前:@"FinishSyncFull" オブジェクト:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(RemoveNotificacions:) name:@"RemoveNotificacions" object:nil];
[[PivotService getInstance] 同期];
}
同期を続行するための通知
-(void)FinishSyncFull:(NSNotification*) 通知
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"FinishSyncFull" object:nil];
if ([SyncManager getInstance] mustSync])
{
[[FMDBHelper getInstance] RemoveDataFromTable:@"SyncInfo"];
[[FMDBHelper getInstance] RemoveDataFromTable:@"SyncDetails"];
[自己 startSyncFull];
}
}
機能の説明startSyncFull:
- (void)startSyncFull
{
[[ServiceEntity1 getInstance] sync];
[[ServiceEntity2 getInstance] sync];
[[ServiceEntity3 getInstance] sync];
(...)
}