iOS:Native plugin use safe method to get from dictionary,avoid type error

This commit is contained in:
pengfeizhou
2021-02-01 18:10:11 +08:00
committed by osborn
parent 156f70bb97
commit fe4e90ec53
11 changed files with 91 additions and 88 deletions

View File

@@ -19,7 +19,6 @@
#import "DoricStatusBarPlugin.h"
#import "DoricUtil.h"
#import "DoricViewNode.h"
#import "DoricExtensions.h"
#import "DoricViewController.h"
@@ -32,7 +31,7 @@ - (void)setHidden:(NSDictionary *)param withPromise:(DoricPromise *)promise {
if (self.doricContext.navBar) {
if ([self.doricContext.navBar isKindOfClass:DoricViewController.class]) {
DoricViewController *target = ((DoricViewController *) self.doricContext.navBar);
target.statusBarHidden = [param[@"hidden"] boolValue];
target.statusBarHidden = [param optBool:@"hidden"];
[target setNeedsStatusBarAppearanceUpdate];
}
}
@@ -46,7 +45,7 @@ - (void)setMode:(NSDictionary *)param withPromise:(DoricPromise *)promise {
if (self.doricContext.navBar) {
if ([self.doricContext.navBar isKindOfClass:DoricViewController.class]) {
DoricViewController *target = ((DoricViewController *) self.doricContext.navBar);
target.statusBarMode = [param[@"mode"] intValue];
target.statusBarMode = [[param optNumber:@"mode"] intValue];
[target setNeedsStatusBarAppearanceUpdate];
}
}
@@ -58,7 +57,7 @@ - (void)setColor:(NSDictionary *)param withPromise:(DoricPromise *)promise {
[self.doricContext dispatchToMainQueue:^{
__strong typeof(_self) self = _self;
if (self.doricContext.navBar) {
UIColor *color = DoricColor(param[@"color"]);
UIColor *color = DoricColor([param optNumber:@"color"]);
[self.doricContext.navBar doric_navBar_setBackgroundColor:color];
}
}];