同期情報に使用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];
(...)
}