Closed jerryga closed 5 years ago
(void)syncWithCompletion:(void(^)(NSError *error))completion{ if (_syning) { if (completion) { completion([NSError errorWithDomain:@"com.encrypt.note" code:-1999 userInfo:nil]); } return; } _syning = YES;
if (!ensemble) { [self setupEnsembles]; }
if (ensemble.isMerging) { if (completion) { completion(nil); } return; }
Sometimes it will go wrong: code: if (!ensemble.isLeeched) { [ensemble leechPersistentStoreWithCompletion:^(NSError error) { if (error && !self->ensemble.isLeeched) { NSLog(@"Could not leech to ensemble: %@", error); [self disconnectFromSyncServiceWithCompletion:^{ if (completion) completion(error); }]; _syning = NO; } else { _syning = NO; if (completion) completion(error); } }]; } else { [ensemble mergeWithCompletion:^(NSError error) { if (error) NSLog(@"Error merging: %@", error); _syning = NO; if (completion) completion(error); }]; } }
(void)syncWithCompletion:(void(^)(NSError *error))completion{ if (_syning) { if (completion) { completion([NSError errorWithDomain:@"com.encrypt.note" code:-1999 userInfo:nil]); } return; } _syning = YES;
if (!ensemble) { [self setupEnsembles]; }
if (ensemble.isMerging) { if (completion) { completion(nil); } return; }
Sometimes it will go wrong: code: if (!ensemble.isLeeched) { [ensemble leechPersistentStoreWithCompletion:^(NSError error) { if (error && !self->ensemble.isLeeched) { NSLog(@"Could not leech to ensemble: %@", error); [self disconnectFromSyncServiceWithCompletion:^{ if (completion) completion(error); }]; _syning = NO; } else { _syning = NO; if (completion) completion(error); } }]; } else { [ensemble mergeWithCompletion:^(NSError error) { if (error) NSLog(@"Error merging: %@", error); _syning = NO; if (completion) completion(error); }]; } }