iOS/Sample : UI need to be updated on Main Thread (#740)

Summary:
### iOSSample:
Fix iOS Sample App crash: UI need to be updated on Main Thread

### SampleSwift:
* Upgrade swift version
* Fix force unwrapping
* UI need to be updated on Main Thread

## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/740

Differential Revision: D19397414

Pulled By: passy

fbshipit-source-id: 7af84c0fe43861aff6a18c36bf81a940baec5147
This commit is contained in:
0xd-cc
2020-01-15 03:56:16 -08:00
committed by Facebook Github Bot
parent 4530eb9235
commit f6831e837a
4 changed files with 23 additions and 19 deletions

View File

@@ -44,15 +44,13 @@
[[[NSURLSession sharedSession] dataTaskWithRequest:urlRequest completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, NSError *_Nullable dataTaskError) {
if (dataTaskError || !data) {
UIAlertController *alertController = [weakSelf alertControllerForMessage:@"Received error in POST API response"];
[weakSelf presentViewController:alertController animated:true completion:nil];
[weakSelf showAlertWithMessage:@"Received error in POST API response"];
return;
}
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&dataTaskError];
NSLog(@"MSG-POST: %@", dict[@"msg"]);
UIAlertController *alertController = [weakSelf alertControllerForMessage:@"Received response from POST API"];
[weakSelf presentViewController:alertController animated:true completion:nil];
[weakSelf showAlertWithMessage:@"Received response from POST API"];
}] resume];
}
@@ -61,17 +59,21 @@
__weak NetworkViewController *weakSelf = self;
[[[NSURLSession sharedSession] dataTaskWithURL:[NSURL URLWithString:@"https://demo9512366.mockable.io/FlipperGet"] completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, NSError *_Nullable error) {
if (error || !data) {
UIAlertController *alertController = [weakSelf alertControllerForMessage:@"Received error in GET API response"];
[weakSelf presentViewController:alertController animated:true completion:nil];
[weakSelf showAlertWithMessage:@"Received error in GET API response"];
return;
}
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
NSLog(@"MSG-GET: %@", dict[@"msg"]);
UIAlertController *alertController = [weakSelf alertControllerForMessage:@"Received response from GET API"];
[weakSelf presentViewController:alertController animated:true completion:nil];
[weakSelf showAlertWithMessage:@"Received response from GET API"];
}] resume];
}
- (void)showAlertWithMessage:(nonnull NSString *)msg {
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertController *alertController = [self alertControllerForMessage:msg];
[self presentViewController:alertController animated:true completion:nil];
});
}
- (UIAlertController *)alertControllerForMessage:(nonnull NSString *)msg {
UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"Flipper" message:msg preferredStyle:UIAlertControllerStyleAlert];