From ec2686f96ad5c9abcae09d03135f87c07b2d715a Mon Sep 17 00:00:00 2001 From: luomy Date: Fri, 5 Nov 2021 19:21:47 +0800 Subject: [PATCH] fix(ios): improve stability --- ios/sdk/base/HippyBatchedBridge.mm | 8 ++++---- ios/sdk/base/HippyTouchHandler.m | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ios/sdk/base/HippyBatchedBridge.mm b/ios/sdk/base/HippyBatchedBridge.mm index 5984487bc63..4cbceb4bbcf 100644 --- a/ios/sdk/base/HippyBatchedBridge.mm +++ b/ios/sdk/base/HippyBatchedBridge.mm @@ -1047,12 +1047,12 @@ - (id)callNativeModule:(NSUInteger)moduleID method:(NSUInteger)methodID params:( // if (!_valid) { // return nil; // } - - if (moduleID >= [_moduleDataByID count]) { - HippyLogError(@"moduleID %lu exceed range of _moduleDataByID %lu, bridge is valid %ld", moduleID, [_moduleDataByID count], (long)_valid); + NSArray *moduleDataByID = [_moduleDataByID copy]; + if (moduleID >= [moduleDataByID count]) { + HippyLogError(@"moduleID %lu exceed range of moduleDataByID %lu, bridge is valid %ld", moduleID, [moduleDataByID count], (long)_valid); return nil; } - HippyModuleData *moduleData = _moduleDataByID[moduleID]; + HippyModuleData *moduleData = moduleDataByID[moduleID]; if (HIPPY_DEBUG && !moduleData) { HippyLogError(@"No module found for id '%lu'", (unsigned long)moduleID); return nil; diff --git a/ios/sdk/base/HippyTouchHandler.m b/ios/sdk/base/HippyTouchHandler.m index 1e1d805aeb7..19856a47877 100644 --- a/ios/sdk/base/HippyTouchHandler.m +++ b/ios/sdk/base/HippyTouchHandler.m @@ -355,7 +355,9 @@ - (BOOL)checkViewBelongToTouchHandler:(UIView *)view { if (!checkView) { NSNumber *viewRootTag = [view rootTag]; NSNumber *rootViewTag = [_rootView hippyTag]; - return [viewRootTag isEqualToNumber:rootViewTag]; + if (rootViewTag) { + return [viewRootTag isEqualToNumber:rootViewTag]; + } } return checkView == view; }